:root{
  --bg:#07140c;
  --bg2:#0d2114;
  --panel:#f8fff5;
  --panel2:#eaf8df;
  --ink:#102018;
  --muted:#5b6b61;
  --green:#2f8f3a;
  --green2:#57b957;
  --green3:#0f5f2a;
  --line:#b8d9b1;
  --warn:#b86b1d;
  --bad:#b42318;
  --shadow:0 20px 55px rgba(0,0,0,.24);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(87,185,87,.18), transparent 34rem),
    linear-gradient(135deg,var(--bg),var(--bg2));
  min-height:100vh;
}
a{color:inherit}
.nv-top{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px clamp(14px,3vw,34px);
  color:#f3fff0;
  background:rgba(5,16,10,.9);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(190,240,180,.2);
}
.nv-brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.2px}
.nv-brand a{text-decoration:none;font-size:1.06rem}
.nv-brand span{font-size:.78rem;color:#bde8b6;border:1px solid rgba(189,232,182,.35);padding:3px 8px;border-radius:999px}
.nv-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nv-nav a{color:#eaffea;text-decoration:none;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.nv-nav a:hover{background:rgba(87,185,87,.25)}
.nv-main{width:min(1180px,94vw);margin:0 auto;padding:28px 0 42px}
.nv-footer{color:#cfe8cb;text-align:center;padding:24px;font-size:.9rem;opacity:.82}
.nv-flash{width:min(1180px,94vw);margin:16px auto 0;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#ecfdf3;color:#15451f;font-weight:700}
.nv-flash-bad{background:#fff1f1;border-color:#ffb4b4;color:#8f1a12}
.nv-flash-warn{background:#fff7e6;border-color:#ffd49a;color:#7b4300}
.nv-hero{display:grid;grid-template-columns:1.35fr .85fr;gap:26px;align-items:stretch;margin-top:18px}
.nv-hero-text,.nv-panel,.nv-card,.nv-hero-card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid rgba(210,240,202,.95);border-radius:26px;box-shadow:var(--shadow);padding:clamp(20px,3vw,34px)}
.nv-hero-text{color:var(--ink);min-height:360px;display:flex;flex-direction:column;justify-content:center}
.nv-kicker{margin:0 0 8px;color:var(--green3);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.11em}
h1{font-size:clamp(2rem,5vw,4.3rem);line-height:1.02;margin:.1em 0 .25em;color:#103719}
h2{font-size:clamp(1.35rem,2.6vw,2rem);margin:.1em 0 .6em;color:#12371a}
h3{margin:.2em 0 .5em;color:#17401f}
p{line-height:1.55}.nv-muted{color:var(--muted)}
.nv-actions,.nv-actions-stack{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.nv-btn,.nv-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 16px;font-weight:900;text-decoration:none;cursor:pointer;background:#eef7e8;color:#12371a;border:1px solid #c4dec0;box-shadow:0 8px 20px rgba(21,80,35,.12)}
.nv-btn:hover,.nv-link-btn:hover{transform:translateY(-1px)}
.nv-btn-primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;border-color:#217d31}
.nv-btn-warn{background:linear-gradient(135deg,#b86b1d,#dd9b35);color:#fff;border-color:#a35c16;width:100%;margin-top:18px}
.nv-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.nv-grid-3 article{background:#fff;border:1px solid #dbeed5;border-radius:18px;padding:18px}
.nv-auth{display:flex;justify-content:center;margin-top:28px}.nv-card{width:min(520px,100%)}
label{display:block;margin:12px 0;font-weight:800;color:#1a3d21}input,textarea{width:100%;margin-top:7px;border:1px solid #b8d9b1;border-radius:14px;padding:12px 13px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}.nv-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nv-game-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0 18px;padding:22px;border-radius:26px;background:linear-gradient(135deg,#f5fff0,#dff1d6);border:1px solid #cbe5c4;box-shadow:var(--shadow)}
.nv-game-head h1{font-size:clamp(1.8rem,4vw,3.2rem);margin:0}.nv-inline-form{display:flex;gap:8px;align-items:end}.nv-inline-form input{min-width:210px}
.nv-resources{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:18px 0}.nv-resources article{background:rgba(248,255,245,.96);border:1px solid #cbe5c4;border-radius:18px;padding:14px 10px;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.12)}.nv-resources span{display:block;font-size:1.35rem;font-weight:1000}.nv-resources small{display:block;color:var(--muted);font-weight:800}
.nv-game-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:18px}
.nv-map{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr));gap:8px;background:#12371a;border-radius:20px;padding:12px;border:1px solid #80b978}.nv-cell{aspect-ratio:1/1;margin:0}.nv-cell button{width:100%;height:100%;border:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:inherit;font-weight:900;cursor:pointer;transition:.15s}.nv-cell span{font-size:clamp(1.2rem,3vw,2rem)}.nv-cell small{font-size:.72rem;color:#1f3f24}.nv-cell-empty{background:rgba(255,255,255,.06);border-radius:16px}.nv-cell-open button{background:linear-gradient(180deg,#f6fff2,#d8f0cc);border:1px solid #99cf8e;color:#12371a}.nv-cell-hidden button{background:linear-gradient(180deg,#22332a,#111d16);border:1px solid #3b6545;color:#d6f9d1}.nv-cell-hidden button:disabled{opacity:.35;cursor:not-allowed}.nv-cell-current button{outline:4px solid #f6c35c;box-shadow:0 0 0 6px rgba(246,195,92,.18)}
.nv-room-card{background:#fff;border:1px solid #dbeed5;border-radius:20px;padding:18px}.nv-room-icon{font-size:2.4rem}.nv-door-list{display:grid;gap:10px}.nv-door{width:100%;text-align:left;padding:12px;border-radius:16px;border:1px solid #cbe5c4;background:#fafff8;cursor:pointer}.nv-door strong,.nv-door span,.nv-door small{display:block}.nv-door small{margin-top:3px;color:var(--muted)}
.nv-feed,.nv-chat-list{display:grid;gap:10px}.nv-feed article,.nv-chat-list article{background:#fff;border:1px solid #dbeed5;border-radius:16px;padding:12px}.nv-feed p,.nv-chat-list p{margin:.3em 0}.nv-feed small,.nv-chat-list small{color:var(--muted)}
.nv-table-wrap{overflow-x:auto}.nv-table{width:100%;border-collapse:separate;border-spacing:0 8px}.nv-table th{text-align:left;color:#24532b;font-size:.9rem}.nv-table td,.nv-table th{padding:10px}.nv-table tbody tr{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.08)}.nv-table tbody td:first-child{border-radius:14px 0 0 14px}.nv-table tbody td:last-child{border-radius:0 14px 14px 0}.nv-chat-form{display:grid;gap:10px;margin-bottom:18px}
code{background:#e5f4dd;border:1px solid #c7e4bf;border-radius:8px;padding:2px 6px}
@media (max-width:900px){.nv-hero,.nv-game-layout{grid-template-columns:1fr}.nv-resources{grid-template-columns:repeat(2,1fr)}.nv-game-head{flex-direction:column;align-items:stretch}.nv-inline-form{flex-direction:column;align-items:stretch}.nv-grid-3{grid-template-columns:1fr}.nv-top{align-items:flex-start;flex-direction:column}.nv-nav{justify-content:flex-start}.nv-map{gap:5px;padding:8px}.nv-cell button{border-radius:12px}}


/* === P94 v1.2: avatar en movimiento de habitación a habitación === */
.nv-map{
  position:relative;
  overflow:visible;
  isolation:isolate;
}
.nv-cell{
  position:relative;
  z-index:1;
}
.nv-cell button{
  position:relative;
  overflow:hidden;
}
.nv-cell button::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 15%, rgba(255,255,255,.28), transparent 42%);
  opacity:.65;
}
.nv-cell-open button{
  min-width:0;
}
.nv-cell-neighbor button{
  box-shadow:0 0 0 3px rgba(87,185,87,.22), inset 0 0 0 1px rgba(255,255,255,.55);
}
.nv-cell-locked-route button{
  opacity:.55;
  cursor:not-allowed;
}
.nv-cell-current button{
  outline:4px solid #f6c35c;
  box-shadow:0 0 0 6px rgba(246,195,92,.18), 0 0 24px rgba(246,195,92,.38);
}
.nv-room-code{
  display:block;
  font-size:clamp(.95rem,2.4vw,1.35rem)!important;
  letter-spacing:.02em;
  line-height:1;
  text-transform:uppercase;
  color:#12371a;
}
.nv-cell-hidden .nv-room-code{
  color:#d6f9d1;
  font-size:clamp(1.25rem,3vw,2rem)!important;
}
.nv-room-name-grid{
  position:relative;
  z-index:2;
  display:block;
  width:92%;
  max-width:92%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:clamp(.54rem,1.2vw,.72rem)!important;
  line-height:1.05;
  color:#24532b!important;
}
.nv-cell-hidden .nv-room-name-grid{color:#b8d9b1!important}
.nv-player-avatar{
  position:absolute;
  left:0;
  top:0;
  width:46px;
  height:58px;
  z-index:12;
  transform:translate(0,0);
  transition:transform .62s cubic-bezier(.2,.85,.25,1.08);
  pointer-events:none;
  filter:drop-shadow(0 10px 9px rgba(0,0,0,.34));
  will-change:transform;
}
.nv-player-avatar::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('player.svg') center/contain no-repeat;
}
.nv-player-avatar::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:-3px;
  height:9px;
  border-radius:50%;
  background:rgba(0,0,0,.25);
  filter:blur(1px);
}
.nv-player-avatar.is-walking::before{
  animation:nv-avatar-walk .38s ease-in-out infinite;
}
.nv-player-avatar.is-walking::after{
  animation:nv-avatar-shadow .38s ease-in-out infinite;
}
.nv-player-avatar.walk-right{transform-origin:center bottom}
.nv-player-avatar.walk-left::before{transform:scaleX(-1)}
@keyframes nv-avatar-walk{
  0%,100%{translate:0 0; rotate:-1deg}
  50%{translate:0 -5px; rotate:2deg}
}
@keyframes nv-avatar-shadow{
  0%,100%{transform:scale(1);opacity:.32}
  50%{transform:scale(.84);opacity:.2}
}
.nv-map-help{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#fafff8;
  border:1px solid #dbeed5;
}
.nv-map-help strong{color:#17401f}
.nv-ajax-notice{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:999;
  max-width:min(420px,calc(100vw - 32px));
  padding:13px 15px;
  border-radius:16px;
  border:1px solid #b8d9b1;
  background:#ecfdf3;
  color:#15451f;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  font-weight:800;
}
.nv-ajax-notice.bad{
  background:#fff1f1;
  border-color:#ffb4b4;
  color:#8f1a12;
}
@media (max-width:900px){
  .nv-player-avatar{width:38px;height:49px}
  .nv-room-name-grid{display:none}
  .nv-room-code{font-size:.82rem!important}
}

/* === P96 v1.3: vista amplia, niebla y paneles laterales === */
body.nv-drawer-open{overflow:hidden}
.nv-main{
  width:100%;
  max-width:none;
  margin:0;
  padding:20px clamp(14px,2.2vw,28px) 30px;
}
.nv-game-head-compact{
  margin:10px 0 14px;
  padding:18px 20px;
  border-radius:24px;
}
.nv-inline-form-compact input{min-width:180px}
.nv-game-shell{
  position:relative;
  min-height:calc(100vh - 210px);
}
.nv-map-stage{
  position:relative;
  min-height:calc(100vh - 230px);
  padding:18px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(87,185,87,.12), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(231,245,226,.98));
}
.nv-map-stage-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin-bottom:14px;
}
.nv-map-stage-status{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.nv-map-stage-status span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#edf7e8;
  border:1px solid #cfe7c8;
  font-weight:800;
  color:#1a4121;
}
.nv-fab-stack{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nv-fab{
  border:0;
  border-radius:999px;
  padding:13px 16px;
  min-width:122px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  color:#f5fff2;
  background:linear-gradient(135deg,#155d27,#2f8f3a);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.nv-fab:hover{transform:translateY(-1px)}
.nv-drawer{
  position:fixed;
  top:84px;
  bottom:14px;
  width:min(420px,calc(100vw - 28px));
  z-index:45;
  border-radius:26px;
  background:linear-gradient(180deg,#fbfff8,#e8f4df);
  border:1px solid #cfe7c8;
  box-shadow:0 22px 58px rgba(0,0,0,.26);
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow:auto;
  transition:transform .24s ease, opacity .24s ease;
  opacity:0;
  pointer-events:none;
}
.nv-drawer.is-open{opacity:1;pointer-events:auto}
.nv-drawer-right{right:14px;transform:translateX(calc(100% + 22px))}
.nv-drawer-left{left:14px;transform:translateX(calc(-100% - 22px))}
.nv-drawer-right.is-open,.nv-drawer-left.is-open{transform:translateX(0)}
.nv-drawer-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #d9ead2;
}
.nv-drawer-head h2{margin:0}
.nv-drawer-close{
  border:0;
  background:#eef7e8;
  border:1px solid #cadece;
  width:42px;
  height:42px;
  border-radius:50%;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  color:#18401e;
}
.nv-drawer-section{display:grid;gap:12px}
.nv-resources-drawer{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}
.nv-guide-list{margin:0;padding-left:18px;display:grid;gap:10px}
.nv-guide-list li{line-height:1.45}
.nv-legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nv-legend-grid article{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid #dbeed5;
  border-radius:16px;
  padding:12px;
}
.nv-legend-grid small{display:block;color:#5b6b61}
.nv-legend-swatch{
  width:18px;height:18px;border-radius:6px;display:inline-block;border:1px solid rgba(0,0,0,.08)
}
.nv-legend-swatch.current{background:linear-gradient(180deg,#fffbcc,#f6d45a)}
.nv-legend-swatch.neighbor{background:linear-gradient(180deg,#eef6ea,#b9d7aa)}
.nv-legend-swatch.open{background:linear-gradient(180deg,#4f6654,#2f4034)}
.nv-legend-swatch.hidden{background:linear-gradient(180deg,#111a13,#060907)}

.nv-map{
  display:grid;
  grid-template-columns:repeat(7,minmax(110px,1fr));
  gap:12px;
  padding:14px;
  background:
    radial-gradient(circle at center, rgba(105,149,111,.18), transparent 52%),
    linear-gradient(180deg,#102716,#0a160d);
  border:1px solid #2f5133;
  border-radius:24px;
  min-height:calc(100vh - 360px);
  height:calc(100vh - 360px);
  max-height:860px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.nv-cell{min-height:110px;position:relative}
.nv-cell-empty{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.05)}
.nv-cell button{
  height:100%;
  min-height:110px;
  border-radius:22px;
  padding:16px 10px 12px;
  justify-content:space-between;
  gap:8px;
}
.nv-room-level-badge{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  font-style:normal;
  font-size:.72rem;
  font-weight:900;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.4);
  color:#173c1d;
}
.nv-room-code{font-size:clamp(1.1rem,2vw,1.55rem)!important}
.nv-room-name-grid{
  width:100%;
  max-width:100%;
  text-align:center;
  white-space:normal;
  line-height:1.12;
  font-size:clamp(.7rem,1vw,.88rem)!important;
}
.nv-cell button::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  transition:opacity .2s ease, background .2s ease;
}
.nv-cell-open button{
  background:linear-gradient(180deg,#425a47,#2a3a2d);
  border:1px solid #668a6d;
  color:#f3fff0;
}
.nv-cell-open button::before{
  background:linear-gradient(180deg,rgba(5,8,6,.40),rgba(9,12,10,.58));
  opacity:1;
}
.nv-cell-open .nv-room-code,
.nv-cell-open .nv-room-name-grid{color:#f0fff0!important}
.nv-cell-neighbor button::before{
  background:linear-gradient(180deg,rgba(18,29,20,.18),rgba(7,9,8,.30));
}
.nv-cell-hidden button{
  background:linear-gradient(180deg,#0f1711,#070b08);
  border:1px solid #243529;
  color:#dff6db;
}
.nv-cell-hidden button::before{
  background:radial-gradient(circle at center, rgba(255,255,255,.02), rgba(0,0,0,.58));
}
.nv-cell-current button{
  background:linear-gradient(180deg,#fffdd9,#f8dc7b);
  border:1px solid #f3c75b;
  color:#143519;
  outline:4px solid #ffe98d;
  box-shadow:0 0 0 8px rgba(255,235,136,.14), 0 0 34px rgba(255,230,122,.42), inset 0 0 28px rgba(255,255,255,.45);
}
.nv-cell-current button::before{opacity:0}
.nv-cell-current .nv-room-code,
.nv-cell-current .nv-room-name-grid{color:#143519!important}
.nv-cell-current .nv-room-level-badge{background:rgba(255,255,255,.82)}
.nv-cell-locked-route button{opacity:1;cursor:not-allowed}
.nv-cell-hidden button:disabled{opacity:1}

.nv-player-avatar{
  width:58px;
  height:72px;
  z-index:18;
  transition:transform .48s cubic-bezier(.2,.85,.25,1.08);
}
.nv-player-avatar.nv-no-anim{transition:none!important}
.nv-player-avatar.nv-avatar-preload{opacity:0}
.nv-player-avatar:not(.nv-avatar-preload){opacity:1}
.nv-player-avatar::after{bottom:1px}
.nv-map-help-drawer{margin:0}

@media (max-width:1080px){
  .nv-map{grid-template-columns:repeat(7,minmax(88px,1fr));gap:10px;min-height:calc(100vh - 330px);height:calc(100vh - 330px)}
  .nv-cell,.nv-cell button{min-height:96px}
  .nv-player-avatar{width:50px;height:63px}
}
@media (max-width:900px){
  .nv-main{padding:16px 12px 26px}
  .nv-game-head-compact{padding:16px}
  .nv-map-stage{min-height:calc(100vh - 210px);padding:14px}
  .nv-map-stage-head{flex-direction:column;align-items:flex-start}
  .nv-map{grid-template-columns:repeat(4,minmax(70px,1fr));height:auto;min-height:auto;max-height:none}
  .nv-cell,.nv-cell button{min-height:86px}
  .nv-room-name-grid{font-size:.68rem!important}
  .nv-drawer{top:74px;bottom:10px;width:calc(100vw - 20px)}
  .nv-fab-stack{right:12px;bottom:12px}
  .nv-fab{min-width:108px;padding:12px 14px}
  .nv-legend-grid{grid-template-columns:1fr}
}

/* === P97 v1.4: visor scrollable y zoom real === */
:root{--nv-map-zoom:1.18}
.nv-map-stage{padding:16px 16px 18px}
.nv-map-stage-head{margin-bottom:10px}
.nv-map-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.nv-map-toolbar-group{display:flex;gap:8px;align-items:center}
.nv-toolbar-btn{
  border:1px solid #cadece;
  background:#eef7e8;
  color:#173c1d;
  width:44px;
  height:44px;
  border-radius:14px;
  font:inherit;
  font-size:1.2rem;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(21,80,35,.08);
}
.nv-map-toolbar-text{
  color:#547058;
  font-weight:800;
  font-size:.92rem;
}
.nv-map-viewport{
  position:relative;
  height:calc(100vh - 250px);
  min-height:520px;
  max-height:860px;
  overflow:auto;
  border-radius:26px;
  border:1px solid #2f5133;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.04), transparent 30%),
    linear-gradient(180deg,#0b1b10,#0c1610);
  cursor:grab;
  scrollbar-width:thin;
  scrollbar-color:#376241 #0e1811;
}
.nv-map-viewport.is-dragging{cursor:grabbing}
.nv-map-viewport::-webkit-scrollbar{height:12px;width:12px}
.nv-map-viewport::-webkit-scrollbar-thumb{background:#376241;border-radius:999px;border:2px solid #0e1811}
.nv-map-viewport::-webkit-scrollbar-track{background:#0e1811}
.nv-map-canvas{
  display:inline-block;
  min-width:100%;
  min-height:100%;
  padding:24px;
}
.nv-map{
  display:grid;
  grid-template-columns:repeat(7,calc(160px * var(--nv-map-zoom)));
  grid-auto-rows:calc(160px * var(--nv-map-zoom));
  gap:calc(14px * var(--nv-map-zoom));
  padding:calc(8px * var(--nv-map-zoom));
  width:max-content;
  min-width:max-content;
  min-height:max-content;
  height:auto;
  max-height:none;
  border-radius:24px;
}
.nv-cell{min-height:0;height:calc(160px * var(--nv-map-zoom))}
.nv-cell button{
  min-height:0;
  height:100%;
  padding:calc(14px * var(--nv-map-zoom)) calc(10px * var(--nv-map-zoom)) calc(12px * var(--nv-map-zoom));
  border-radius:calc(22px * var(--nv-map-zoom));
}
.nv-room-code{font-size:calc(1.22rem * var(--nv-map-zoom))!important}
.nv-room-name-grid{font-size:calc(.76rem * var(--nv-map-zoom))!important}
.nv-room-level-badge{font-size:calc(.72rem * var(--nv-map-zoom))}
.nv-player-avatar{
  width:calc(54px * var(--nv-map-zoom));
  height:calc(68px * var(--nv-map-zoom));
}
.nv-player-avatar::after{left:18%;right:18%;height:11px}
.nv-fab-stack{right:14px;bottom:14px}

@media (max-width:1100px){
  .nv-map-viewport{height:calc(100vh - 230px);min-height:460px}
}
@media (max-width:900px){
  :root{--nv-map-zoom:1}
  .nv-map-stage{padding:14px}
  .nv-map-viewport{height:calc(100vh - 210px);min-height:380px;border-radius:20px}
  .nv-map-canvas{padding:16px}
  .nv-map-toolbar{align-items:flex-start}
  .nv-map-toolbar-text{font-size:.85rem}
  .nv-toolbar-btn{width:40px;height:40px}
}

/* === P98 v1.5: vista de habitación única tipo Netropolis === */
.nv-roomplay-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);
  gap:18px;
  align-items:start;
}
.nv-roomplay-main,
.nv-minimap-card{padding:18px}
.nv-roomplay-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  margin-bottom:14px;
}
.nv-roomplay-head-mini{align-items:center}
.nv-roomplay-head h2,.nv-roomplay-head h3{margin:.15em 0 0}
.nv-roomplay-badges,
.nv-minimap-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.nv-roomplay-badges span,
.nv-minimap-meta{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d4e8cf;
  background:#f4fbef;
  color:#1b4522;
  font-weight:900;
}
.nv-room-scene-wrap{
  background:linear-gradient(180deg,#edf8e8,#dcedd5);
  border:1px solid #d4e8cf;
  border-radius:28px;
  padding:16px;
}
.nv-room-scene{
  position:relative;
  aspect-ratio:16/10;
  min-height:460px;
  border-radius:24px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 22%, rgba(255,255,255,.20), transparent 22%), linear-gradient(180deg,#eef2ec,#d3dbd0);
}
.nv-room-3d{position:absolute;inset:0}
.nv-room-wall,
.nv-room-floor{position:absolute;pointer-events:none}
.nv-room-wall-back{
  left:22%; right:22%; top:10%; height:36%;
  background:linear-gradient(180deg,#f6f8f4,#e4e9e0);
  border:4px solid #0e0f10;
  border-bottom-width:3px;
}
.nv-room-wall-left{
  left:9%; top:10.1%; width:30%; height:56%;
  clip-path:polygon(0 35%, 78% 0, 78% 64%, 0 100%);
  background:linear-gradient(135deg,#edf1ea,#d7ddd4);
  border-left:4px solid #0e0f10;
  border-top:4px solid #0e0f10;
  border-bottom:4px solid #0e0f10;
  box-shadow:inset -6px 0 12px rgba(0,0,0,.04);
}
.nv-room-wall-right{
  right:9%; top:10.1%; width:30%; height:56%;
  clip-path:polygon(22% 0, 100% 35%, 100% 100%, 22% 64%);
  background:linear-gradient(225deg,#edf1ea,#d7ddd4);
  border-right:4px solid #0e0f10;
  border-top:4px solid #0e0f10;
  border-bottom:4px solid #0e0f10;
  box-shadow:inset 6px 0 12px rgba(0,0,0,.04);
}
.nv-room-floor{
  left:12%; right:12%; bottom:7%; height:52%;
  clip-path:polygon(15% 0, 85% 0, 100% 36%, 50% 100%, 0 36%);
  background:linear-gradient(180deg,#f2f4ef,#d7ddd4);
  border:4px solid #0e0f10;
  box-shadow:inset 0 -20px 28px rgba(0,0,0,.05);
}
.nv-room-door{position:absolute;z-index:4;margin:0}
.nv-room-door button{
  position:relative;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0;
  width:100%;
  height:100%;
}
.nv-room-door-leaf{
  position:absolute;
  inset:auto;
  display:block;
  background:linear-gradient(180deg,#c98d67,#aa6d4f);
  border:3px solid #8c573f;
  border-radius:4px;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}
.nv-room-door.is-closed .nv-room-door-leaf{
  background:linear-gradient(180deg,#b57b5f,#8f583f);
}
.nv-room-door-caption{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-52px;
  display:grid;
  gap:2px;
  width:max-content;
  min-width:96px;
  max-width:150px;
  text-align:center;
  padding:7px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(18,59,29,.12);
  color:#16371c;
}
.nv-room-door-caption strong{font-size:.85rem}
.nv-room-door-caption small{font-size:.72rem;color:#53675a}
.nv-room-door-north{left:50%;top:18%;width:88px;height:128px;transform:translateX(-50%)}
.nv-room-door-north .nv-room-door-leaf{left:10px;right:10px;top:0;bottom:0}
.nv-room-door-east{right:23%;top:38%;width:88px;height:148px;transform:skewY(-18deg)}
.nv-room-door-east button{transform:skewY(18deg)}
.nv-room-door-east .nv-room-door-leaf{left:12px;right:12px;top:0;bottom:0}
.nv-room-door-east .nv-room-door-caption{bottom:-58px}
.nv-room-door-west{left:23%;top:38%;width:88px;height:148px;transform:skewY(18deg)}
.nv-room-door-west button{transform:skewY(-18deg)}
.nv-room-door-west .nv-room-door-leaf{left:12px;right:12px;top:0;bottom:0}
.nv-room-door-west .nv-room-door-caption{bottom:-58px}
.nv-room-door-south{left:50%;bottom:16%;width:126px;height:96px;transform:translateX(-50%) perspective(600px) rotateX(65deg)}
.nv-room-door-south button{transform:perspective(600px) rotateX(-65deg)}
.nv-room-door-south .nv-room-door-leaf{left:8px;right:8px;top:0;bottom:0}
.nv-room-door-south .nv-room-door-caption{bottom:-66px}
.nv-room-door.is-open .nv-room-door-leaf::after,
.nv-room-door.is-closed .nv-room-door-leaf::after{
  content:"";
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  background:#f7d978;
  box-shadow:0 0 0 1px rgba(0,0,0,.18);
}
.nv-room-door.is-open .nv-room-door-leaf{outline:3px solid rgba(92,189,103,.26)}
.nv-room-door.is-open .nv-room-door-caption{background:#effaed}
.nv-room-door.is-closed .nv-room-door-caption{background:#fff5ef}
.nv-player-avatar{
  position:absolute;
  left:0; top:0;
  width:58px; height:72px;
  z-index:5;
  transform:translate(calc(var(--nv-avatar-x) - 50%), calc(var(--nv-avatar-y) - 50%));
  transition:transform .48s cubic-bezier(.2,.85,.25,1.08);
}
.nv-player-avatar.nv-no-anim{transition:none!important}
.nv-player-avatar.nv-avatar-preload{opacity:0}
.nv-player-avatar:not(.nv-avatar-preload){opacity:1}
.nv-player-avatar::before{background:url('player.svg') center/contain no-repeat}
.nv-player-avatar::after{bottom:2px}
.nv-minimap-grid{
  display:grid;
  gap:6px;
  margin-top:12px;
  background:#0d1510;
  padding:10px;
  border-radius:18px;
}
.nv-mini{
  aspect-ratio:1/1;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.07);
}
.nv-mini-empty{background:rgba(255,255,255,.03);border-style:dashed}
.nv-mini-hidden{background:linear-gradient(180deg,#09100b,#030504)}
.nv-mini-open{background:linear-gradient(180deg,#5b725f,#2f4133)}
.nv-mini-current{background:linear-gradient(180deg,#fff4c6,#f6d462);box-shadow:0 0 0 3px rgba(246,212,98,.28)}
.nv-minimap-legend{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  color:#26442a;
  font-weight:800;
}
.nv-minimap-legend div{display:flex;align-items:center;gap:8px}
.nv-minimap-notes{
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  background:#f7fcf4;
  border:1px solid #dfeeda;
}
.nv-door-static{padding:14px;border-radius:16px;border:1px solid #dbeed5;background:#fff}
.nv-door-static strong,.nv-door-static span,.nv-door-static small{display:block}
.nv-door-static small{margin-top:3px;color:#64736b}
.nv-door-static-muted{opacity:.75}

@media (max-width:1080px){
  .nv-roomplay-layout{grid-template-columns:1fr}
  .nv-room-scene{min-height:420px}
}
@media (max-width:760px){
  .nv-roomplay-main,.nv-minimap-card{padding:14px}
  .nv-roomplay-head{flex-direction:column;align-items:flex-start}
  .nv-room-scene{min-height:360px}
  .nv-room-door-caption{font-size:.72rem;min-width:82px;padding:6px 8px}
  .nv-room-door-north{width:72px;height:104px}
  .nv-room-door-east,.nv-room-door-west{width:72px;height:124px}
  .nv-room-door-south{width:108px;height:82px}
  .nv-player-avatar{width:48px;height:60px}
}

/* === P100 v1.6: refinado de la vista de habitación === */
.nv-roomplay-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.55fr);
  gap:18px;
  align-items:start;
}
.nv-roomplay-main,.nv-minimap-card{padding:18px}
.nv-roomplay-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px}
.nv-roomplay-head-mini{align-items:center}
.nv-roomplay-badges,.nv-minimap-meta{display:flex;gap:8px;flex-wrap:wrap}
.nv-roomplay-badges span,.nv-minimap-meta{padding:8px 12px;border-radius:999px;border:1px solid #d4e8cf;background:#f4fbef;color:#1b4522;font-weight:900}
.nv-room-scene-wrap{background:linear-gradient(180deg,#edf8e8,#dcedd5);border:1px solid #d4e8cf;border-radius:28px;padding:16px}
.nv-room-scene{
  position:relative;
  aspect-ratio:16/10;
  min-height:520px;
  border-radius:24px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.55), transparent 22%), linear-gradient(180deg,#eef2ec,#d0d8cf);
}
.nv-room-scene.theme-botanico{background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.55), transparent 22%), linear-gradient(180deg,#eff5ed,#d4ddd1)}
.nv-room-scene.theme-laboratorio{background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.55), transparent 22%), linear-gradient(180deg,#edf1f3,#d4d9dc)}
.nv-room-scene.theme-energia{background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.48), transparent 22%), linear-gradient(180deg,#f1f2ea,#d7d9c9)}
.nv-room-scene.theme-agua{background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.52), transparent 22%), linear-gradient(180deg,#eef4f5,#d1dbe0)}
.nv-room-3d{position:absolute;inset:0}
.nv-scene-hud{position:absolute;left:18px;top:18px;z-index:7;display:flex;gap:10px;flex-wrap:wrap}
.nv-scene-hud span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.08);color:#183a1f;font-weight:900;backdrop-filter:blur(4px)}
.nv-room-wall,.nv-room-floor,.nv-room-glow{position:absolute;pointer-events:none}
.nv-room-wall-back{left:24%;right:24%;top:12%;height:34%;background:linear-gradient(180deg,#fbfcfb,#edf0ec);border:4px solid #101010;border-bottom-width:3px;box-shadow:inset 0 -18px 24px rgba(0,0,0,.03)}
.nv-room-wall-left{left:10%;top:12%;width:28%;height:54%;clip-path:polygon(0 36%, 80% 0, 80% 64%, 0 100%);background:linear-gradient(135deg,#eef1ec,#d9dfd7);border-left:4px solid #101010;border-top:4px solid #101010;border-bottom:4px solid #101010;box-shadow:inset -12px 0 20px rgba(0,0,0,.04)}
.nv-room-wall-right{right:10%;top:12%;width:28%;height:54%;clip-path:polygon(20% 0, 100% 36%, 100% 100%, 20% 64%);background:linear-gradient(225deg,#eef1ec,#d9dfd7);border-right:4px solid #101010;border-top:4px solid #101010;border-bottom:4px solid #101010;box-shadow:inset 12px 0 20px rgba(0,0,0,.04)}
.nv-room-floor{left:12%;right:12%;bottom:8%;height:48%;clip-path:polygon(16% 0, 84% 0, 100% 38%, 50% 100%, 0 38%);background:linear-gradient(180deg,#f5f6f3,#dfe4dd);border:4px solid #101010;box-shadow:inset 0 -30px 40px rgba(0,0,0,.05)}
.nv-room-glow{left:35%;right:35%;top:17%;height:44%;background:radial-gradient(circle at center, rgba(231,255,220,.5), rgba(255,255,255,0));filter:blur(4px)}

.nv-room-prop{position:absolute;z-index:3;border-radius:12px;box-shadow:0 10px 18px rgba(0,0,0,.12)}
.nv-prop-planter-left,.nv-prop-planter-right{width:86px;height:92px;background:linear-gradient(180deg,#6c4b35 0 30%, #9c6a47 30% 55%, #4b8d43 55% 100%);bottom:24%;}
.nv-prop-planter-left{left:24%}
.nv-prop-planter-right{right:24%}
.nv-prop-workbench{left:43%;bottom:22%;width:170px;height:76px;background:linear-gradient(180deg,#876447 0 22%, #b38964 22% 62%, #73553d 62% 100%);border-radius:14px}
.nv-prop-bench{left:42%;bottom:22%;width:180px;height:70px;background:linear-gradient(180deg,#9b7754 0 26%, #c39a74 26% 64%, #7a5c41 64% 100%)}
.nv-prop-crate{right:28%;bottom:23%;width:84px;height:72px;background:linear-gradient(180deg,#a67b55,#7c5c40)}
.nv-prop-lamp{left:26%;top:30%;width:20px;height:120px;background:linear-gradient(180deg,#6a7378,#454b4e);border-radius:8px}
.nv-prop-lamp::after{content:"";position:absolute;top:-12px;left:-11px;width:42px;height:24px;border-radius:50%;background:radial-gradient(circle, rgba(255,239,180,.95), rgba(255,239,180,.35), rgba(255,239,180,0))}
.nv-prop-generator{left:24%;bottom:23%;width:116px;height:94px;background:linear-gradient(180deg,#61696e,#34393c)}
.nv-prop-battery{right:24%;bottom:23%;width:78px;height:106px;background:linear-gradient(180deg,#7a846b,#505844)}
.nv-prop-console{left:44%;bottom:25%;width:120px;height:76px;background:linear-gradient(180deg,#657179 0 30%, #394046 30% 100%)}
.nv-prop-console::after{content:"";position:absolute;left:14px;right:14px;top:14px;height:20px;background:linear-gradient(90deg,#55c26b,#7fd7e9);border-radius:8px}
.nv-prop-tank-left,.nv-prop-tank-right{width:84px;height:108px;background:linear-gradient(180deg,#6f8791,#4d5e67);bottom:23%;border-radius:18px}
.nv-prop-tank-left{left:23%}
.nv-prop-tank-right{right:23%}
.nv-prop-pump{left:45%;bottom:24%;width:94px;height:82px;background:linear-gradient(180deg,#7a8a6f,#546249)}
.nv-prop-locker{left:23%;bottom:22%;width:86px;height:126px;background:linear-gradient(180deg,#7c878a,#535d61)}
.nv-prop-barrier{right:22%;bottom:21%;width:128px;height:58px;background:repeating-linear-gradient(90deg,#d7a332 0 18px,#3b3b3b 18px 36px)}
.nv-prop-shelf{left:23%;bottom:22%;width:118px;height:122px;background:linear-gradient(180deg,#7c654e,#5c4837)}
.nv-prop-shelf::after{content:"";position:absolute;left:10px;right:10px;top:28px;bottom:14px;background:repeating-linear-gradient(180deg,transparent 0 20px, rgba(0,0,0,.18) 20px 24px)}

.nv-room-door{position:absolute;z-index:5;margin:0}
.nv-room-door button{position:relative;border:0;background:transparent;cursor:pointer;padding:0;width:100%;height:100%}
.nv-room-door-frame,.nv-room-door-leaf{position:absolute;display:block;border-radius:4px}
.nv-room-door-frame{inset:0;background:#8a563d;border:3px solid #66402d;box-shadow:0 10px 14px rgba(0,0,0,.14)}
.nv-room-door-leaf{left:8px;right:8px;top:8px;bottom:8px;background:linear-gradient(180deg,#ce976d,#b47654);border:2px solid #8c5b42;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14)}
.nv-room-door.is-closed .nv-room-door-leaf{background:linear-gradient(180deg,#ba835e,#975f43)}
.nv-room-door.is-open .nv-room-door-leaf{background:linear-gradient(180deg,#d6a57d,#bc825f)}
.nv-room-door-leaf::before{content:"";position:absolute;inset:10px;border:2px solid rgba(98,58,39,.42)}
.nv-room-door-leaf::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;right:8px;top:50%;transform:translateY(-50%);background:#f7d978;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.nv-room-door-caption{position:absolute;left:50%;transform:translateX(-50%);bottom:-54px;display:grid;gap:2px;width:max-content;min-width:110px;max-width:160px;text-align:center;padding:7px 10px;border-radius:14px;background:rgba(255,255,255,.93);border:1px solid rgba(18,59,29,.12);color:#16371c}
.nv-room-door-caption strong{font-size:.85rem}.nv-room-door-caption small{font-size:.72rem;color:#53675a}
.nv-room-door-north{left:50%;top:19%;width:92px;height:132px;transform:translateX(-50%)}
.nv-room-door-east{right:20%;top:42%;width:84px;height:142px;transform:skewY(-18deg)}
.nv-room-door-east button{transform:skewY(18deg)}
.nv-room-door-west{left:20%;top:42%;width:84px;height:142px;transform:skewY(18deg)}
.nv-room-door-west button{transform:skewY(-18deg)}
.nv-room-door-south{left:50%;bottom:18%;width:126px;height:94px;transform:translateX(-50%) perspective(600px) rotateX(64deg)}
.nv-room-door-south button{transform:perspective(600px) rotateX(-64deg)}
.nv-room-door-south .nv-room-door-caption{bottom:-70px}

.nv-player-avatar{
  position:absolute;
  left:var(--nv-avatar-x);
  top:var(--nv-avatar-y);
  width:62px;
  height:76px;
  z-index:6;
  transform:translate(-50%,-50%);
  transition:left .42s cubic-bezier(.2,.85,.25,1.08), top .42s cubic-bezier(.2,.85,.25,1.08), transform .18s ease;
  filter:drop-shadow(0 12px 10px rgba(0,0,0,.28));
}
.nv-player-avatar.nv-no-anim{transition:none!important}
.nv-player-avatar.nv-avatar-preload{opacity:0}.nv-player-avatar:not(.nv-avatar-preload){opacity:1}
.nv-player-avatar::before{content:"";position:absolute;inset:0;background:url('player.svg') center/contain no-repeat}
.nv-player-avatar::after{content:"";position:absolute;left:12px;right:12px;bottom:-2px;height:10px;border-radius:50%;background:rgba(0,0,0,.22);filter:blur(1px)}
.nv-player-avatar.is-walking::before{animation:nv-avatar-walk .35s ease-in-out infinite}
.nv-player-avatar.is-walking::after{animation:nv-avatar-shadow .35s ease-in-out infinite}

.nv-minimap-grid{display:grid;gap:6px;margin-top:12px;background:#0d1510;padding:10px;border-radius:18px}
.nv-mini{aspect-ratio:1/1;border-radius:6px;border:1px solid rgba(255,255,255,.07)}
.nv-mini-empty{background:rgba(255,255,255,.03);border-style:dashed}
.nv-mini-hidden{background:linear-gradient(180deg,#09100b,#030504)}
.nv-mini-open{background:linear-gradient(180deg,#6a806d,#37493a)}
.nv-mini-current{background:linear-gradient(180deg,#fff4c6,#f6d462);box-shadow:0 0 0 3px rgba(246,212,98,.28)}
.nv-minimap-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;color:#26442a;font-weight:800}
.nv-minimap-legend div{display:flex;align-items:center;gap:8px}
.nv-minimap-notes{margin-top:14px;padding:14px;border-radius:16px;background:#f7fcf4;border:1px solid #dfeeda}

@media (max-width:1100px){
  .nv-roomplay-layout{grid-template-columns:1fr}
  .nv-room-scene{min-height:460px}
}
@media (max-width:760px){
  .nv-roomplay-main,.nv-minimap-card{padding:14px}
  .nv-roomplay-head{flex-direction:column;align-items:flex-start}
  .nv-room-scene{min-height:360px}
  .nv-room-door-caption{font-size:.72rem;min-width:84px;padding:6px 8px}
  .nv-room-door-north{width:74px;height:108px}
  .nv-room-door-east,.nv-room-door-west{width:70px;height:118px}
  .nv-room-door-south{width:104px;height:82px}
  .nv-player-avatar{width:50px;height:62px}
  .nv-scene-hud{left:10px;top:10px}
  .nv-scene-hud span{padding:6px 10px;font-size:.84rem}
}

/* === P101 v1.7: Netrópolis Orquídeas - habitación 4:3 y movimiento por casillas === */
.nv-orchid-shell{--grid-left:20%;--grid-top:39%;--orchid-neon:#8df0a5}.nv-retro-head{border-radius:18px;background:linear-gradient(180deg,#f0f0f0,#d4d4d4);border:2px solid #8a8a8a;box-shadow:inset 0 1px 0 #fff,0 10px 25px rgba(0,0,0,.18)}.nv-retro-portal{display:grid;grid-template-columns:minmax(0,4fr) minmax(300px,1.05fr);gap:18px;align-items:start}.nv-retro-stage,.nv-side-console{background:linear-gradient(180deg,#e9e9e9,#cfcfcf);border:2px solid #777;border-radius:18px;box-shadow:inset 0 1px 0 #fff,0 22px 54px rgba(0,0,0,.24)}.nv-retro-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.nv-retro-toolbar h2{margin:.15em 0 0;color:#17251b}.nv-retro-status{display:flex;gap:8px;flex-wrap:wrap}.nv-retro-status span{border:1px solid #8a8a8a;background:linear-gradient(180deg,#fff,#dcdcdc);color:#152219;border-radius:999px;padding:7px 10px;font-weight:900;box-shadow:inset 0 1px 0 #fff}.nv-flash-frame{width:min(100%,980px);margin:0 auto;aspect-ratio:4/3;background:#8b8b8b;border:4px solid #606060;border-radius:8px;padding:12px;box-shadow:inset 0 0 0 2px #c8c8c8,0 16px 35px rgba(0,0,0,.26)}.nv-orchid-room{position:relative;width:100%;height:100%;overflow:hidden;border:2px solid #292929;border-radius:4px;background:#131a16;outline:none}.nv-orchid-room:focus{box-shadow:0 0 0 3px rgba(141,240,165,.45)}.nv-room-bg,.nv-wall,.nv-floor{position:absolute;inset:0;pointer-events:none}.nv-wall-back{left:24%;right:24%;top:10%;height:34%;background:linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(180deg,#5f6763,#363f3a);border:3px solid #101010;border-bottom-width:2px;box-shadow:inset 0 -18px 35px rgba(0,0,0,.22)}.nv-wall-left{left:9%;top:10%;width:31%;height:58%;clip-path:polygon(0 36%,80% 0,80% 65%,0 100%);background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 42%),linear-gradient(135deg,#56625b,#29332e);border-left:3px solid #101010;border-top:3px solid #101010;border-bottom:3px solid #101010}.nv-wall-right{right:9%;top:10%;width:31%;height:58%;clip-path:polygon(20% 0,100% 36%,100% 100%,20% 65%);background:linear-gradient(225deg,rgba(255,255,255,.10),transparent 42%),linear-gradient(225deg,#56625b,#29332e);border-right:3px solid #101010;border-top:3px solid #101010;border-bottom:3px solid #101010}.nv-floor{left:11%;right:11%;bottom:7%;height:53%;clip-path:polygon(16% 0,84% 0,100% 37%,50% 100%,0 37%);background:linear-gradient(90deg,rgba(0,0,0,.12) 1px,transparent 1px) 0 0/42px 42px,linear-gradient(180deg,#606d64,#36413a);border:3px solid #101010;box-shadow:inset 0 -38px 45px rgba(0,0,0,.25)}.nv-tile-grid{position:absolute;left:var(--grid-left);top:var(--grid-top);width:60%;height:48%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);transform:perspective(760px) rotateX(58deg);transform-origin:center center;z-index:2;pointer-events:none;opacity:.38}.nv-tile-grid span{border:1px solid rgba(180,220,185,.22);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.06))}.nv-orchid-props .prop{position:absolute;z-index:3;pointer-events:none;filter:drop-shadow(0 8px 7px rgba(0,0,0,.32))}.prop-table{left:42%;top:55%;width:16%;height:8%;background:linear-gradient(180deg,#8d6746,#59402c);border:2px solid #2d2018;border-radius:5px}.prop-table::after{content:"";position:absolute;left:8%;right:8%;bottom:-22%;height:22%;background:#3d2b1e}.prop-pot{width:42px;height:46px;display:grid;place-items:center;font-size:34px;background:linear-gradient(180deg,#784f35 0 45%,#a6764f 45% 100%);border:2px solid #3a281e;border-radius:8px 8px 15px 15px}.prop-pot-a{left:34%;top:49%}.prop-pot-b{right:34%;top:50%}.prop-light{left:48%;top:13%;width:4%;height:22%;background:linear-gradient(180deg,#a7b0b4,#4a5054);border-radius:999px}.prop-light::after{content:"";position:absolute;left:50%;top:80%;width:280px;height:210px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(199,255,180,.22),rgba(199,255,180,.05) 42%,transparent 70%)}.prop-humidity{left:62%;top:47%;font-size:26px;animation:nv-blink 1.6s infinite}@keyframes nv-blink{0%,100%{opacity:.45}50%{opacity:1}}.nv-grid-door{position:absolute;z-index:5;margin:0}.nv-grid-door button{position:relative;display:block;width:100%;height:100%;border:0;background:transparent;cursor:pointer;padding:0}.door-frame,.door-light{position:absolute;display:block}.door-frame{inset:0;border:3px solid #131313;border-radius:6px;background:linear-gradient(180deg,#38413d,#1f2723);box-shadow:inset 0 0 0 4px rgba(255,255,255,.08),0 8px 15px rgba(0,0,0,.30)}.nv-grid-door.is-open .door-frame{background:linear-gradient(180deg,#29422f,#132219);box-shadow:inset 0 0 0 4px rgba(141,240,165,.16),0 8px 15px rgba(0,0,0,.30)}.nv-grid-door.is-closed .door-frame{background:linear-gradient(180deg,#4b3936,#221817)}.door-light{width:12px;height:12px;border-radius:50%;right:10px;top:50%;transform:translateY(-50%);background:#ffda5a;box-shadow:0 0 10px rgba(255,218,90,.8)}.nv-grid-door.is-open .door-light{background:#7eff95;box-shadow:0 0 10px rgba(126,255,149,.85)}.nv-grid-door.is-closed .door-light{background:#ff6b5e;box-shadow:0 0 10px rgba(255,107,94,.85)}.door-label{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:max-content;max-width:170px;font-size:.72rem;font-weight:900;color:#eaffea;text-shadow:0 2px 4px rgba(0,0,0,.9)}.nv-grid-door-north{left:45%;top:12%;width:10%;height:16%}.nv-grid-door-south{left:45%;bottom:13%;width:10%;height:15%}.nv-grid-door-west{left:13%;top:47%;width:8%;height:17%;transform:skewY(22deg)}.nv-grid-door-east{right:13%;top:47%;width:8%;height:17%;transform:skewY(-22deg)}.nv-grid-door-west button{transform:skewY(-22deg)}.nv-grid-door-east button{transform:skewY(22deg)}.nv-grid-avatar{--grid-x:3;--grid-y:3;position:absolute;z-index:7;width:48px;height:62px;left:calc(var(--grid-left) + (var(--grid-x) + .5) * (60% / 7));top:calc(var(--grid-top) + (var(--grid-y) + .28) * (48% / 7));transform:translate(-50%,-78%);transition:left .18s steps(2,end),top .18s steps(2,end);filter:drop-shadow(0 10px 8px rgba(0,0,0,.40))}.nv-grid-avatar::before{content:"";position:absolute;inset:0;background:url('player.svg') center/contain no-repeat}.nv-grid-avatar::after{content:"";position:absolute;left:11px;right:11px;bottom:0;height:8px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(1px)}.nv-grid-avatar.is-walking::before{animation:nv-avatar-walk .22s steps(2,end) infinite}.nv-facing-left::before{transform:scaleX(-1)}.nv-dpad{display:none;grid-template-columns:60px 60px 60px;grid-template-areas:". up ." "left down right";gap:8px;justify-content:center;margin-top:12px}.nv-dpad button{width:60px;height:52px;border:2px solid #6f6f6f;border-radius:12px;background:linear-gradient(180deg,#fff,#d6d6d6);font-size:1.35rem;font-weight:1000;cursor:pointer}.nv-dpad [data-step="up"]{grid-area:up}.nv-dpad [data-step="left"]{grid-area:left}.nv-dpad [data-step="down"]{grid-area:down}.nv-dpad [data-step="right"]{grid-area:right}.nv-side-console{display:grid;gap:16px}.nv-console-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.nv-console-head h3{margin:.2em 0}.nv-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nv-inventory-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:linear-gradient(180deg,#f9f9f9,#dddddd);border:1px solid #8c8c8c;border-radius:12px;padding:9px;color:#18231d;box-shadow:inset 0 1px 0 #fff}.nv-inventory-grid span{font-size:1.35rem}.nv-inventory-grid small{font-weight:900}.nv-inventory-grid strong{background:#17251b;color:#8df0a5;padding:4px 8px;border-radius:8px;font-family:ui-monospace,Consolas,monospace}.nv-orchid-minimap{background:#151515;border:2px solid #6d6d6d}.nv-mini{min-width:18px;border-radius:3px}.nv-mini-hidden{background:#020402}.nv-mini-open{background:linear-gradient(180deg,#3e6648,#203526)}.nv-mini-current{background:linear-gradient(180deg,#faff98,#f0c74a);box-shadow:0 0 0 2px rgba(250,255,152,.38)}.nv-minimap-meta{background:#17251b!important;color:#8df0a5!important;border-color:#315f3b!important}.theme-luz .nv-wall-back,.theme-luz .nv-wall-left,.theme-luz .nv-wall-right{filter:hue-rotate(22deg) brightness(1.08)}.theme-riego .nv-wall-back,.theme-riego .nv-wall-left,.theme-riego .nv-wall-right{filter:hue-rotate(165deg) brightness(1.04)}.theme-cuarentena .nv-wall-back,.theme-cuarentena .nv-wall-left,.theme-cuarentena .nv-wall-right{filter:hue-rotate(55deg) brightness(.95)}.theme-laboratorio .nv-wall-back,.theme-laboratorio .nv-wall-left,.theme-laboratorio .nv-wall-right{filter:hue-rotate(190deg) saturate(.85)}@media (max-width:1100px){.nv-retro-portal{grid-template-columns:1fr}.nv-flash-frame{width:100%}}@media (max-width:760px){.nv-retro-stage,.nv-side-console{padding:14px}.nv-retro-toolbar{flex-direction:column;align-items:flex-start}.nv-flash-frame{padding:8px}.nv-grid-avatar{width:38px;height:50px}.door-label{display:none}.nv-dpad{display:grid}.nv-inventory-grid{grid-template-columns:1fr}}

/* === P102 v1.8: reajuste de vista isométrica, muros, puertas y props === */
.nv-orchid-shell{
  --room-left: 17%;
  --room-right: 17%;
  --back-top: 8%;
  --back-height: 30%;
  --side-top: 16%;
  --side-height: 38%;
  --floor-bottom: 12%;
  --floor-height: 36%;
  --grid-left: 23%;
  --grid-top: 52%;
  --grid-width: 54%;
  --grid-height: 28%;
}
.nv-flash-frame{
  max-width: 1040px;
  padding: 14px;
  border-radius: 10px;
}
.nv-orchid-room{
  background:
    radial-gradient(circle at 50% 20%, rgba(113,162,126,.16), transparent 18%),
    linear-gradient(180deg,#091410,#07110d 58%, #08100d);
}
.nv-room-bg,.nv-wall,.nv-floor{pointer-events:none}

/* Muros coherentes */
.nv-orchid-room .nv-wall-back{
  left: var(--room-left);
  right: var(--room-right);
  top: var(--back-top);
  height: var(--back-height);
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px) 0 0/34px 100%,
    linear-gradient(180deg,#657068 0%, #4f5a54 35%, #39433e 100%);
  border: 3px solid #101412;
  border-bottom-width: 2px;
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  box-shadow: inset 0 -18px 30px rgba(0,0,0,.18);
}
.nv-orchid-room .nv-wall-left{
  left: 8%;
  top: var(--side-top);
  width: 26%;
  height: var(--side-height);
  clip-path: polygon(0 16%, 72% 0, 100% 26%, 100% 86%, 32% 100%, 0 72%);
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 30%),
    linear-gradient(135deg,#514a50 0%, #413b41 48%, #2f2a2f 100%);
  border: 3px solid #111;
  box-shadow: inset -18px 0 24px rgba(0,0,0,.18);
}
.nv-orchid-room .nv-wall-right{
  right: 8%;
  top: var(--side-top);
  width: 26%;
  height: var(--side-height);
  clip-path: polygon(28% 0, 100% 16%, 100% 72%, 68% 100%, 0 86%, 0 26%);
  background:
    linear-gradient(225deg, rgba(255,255,255,.05), transparent 30%),
    linear-gradient(225deg,#514a50 0%, #413b41 48%, #2f2a2f 100%);
  border: 3px solid #111;
  box-shadow: inset 18px 0 24px rgba(0,0,0,.18);
}
.nv-orchid-room .nv-floor{
  left: 16%;
  right: 16%;
  bottom: var(--floor-bottom);
  height: var(--floor-height);
  clip-path: polygon(14% 0, 86% 0, 100% 34%, 72% 100%, 28% 100%, 0 34%);
  background:
    linear-gradient(90deg, rgba(132,193,144,.10) 1px, transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg, rgba(132,193,144,.08) 1px, transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#13211a 0%, #0d1712 58%, #09100d 100%);
  border: 2px solid #162019;
  box-shadow: inset 0 -22px 35px rgba(0,0,0,.38), 0 12px 20px rgba(0,0,0,.2);
}

/* Cuadrícula sobre el suelo */
.nv-orchid-room .nv-tile-grid{
  left: var(--grid-left);
  top: var(--grid-top);
  width: var(--grid-width);
  height: var(--grid-height);
  transform: perspective(860px) rotateX(65deg);
  opacity: .55;
}
.nv-orchid-room .nv-tile-grid span{
  border: 1px solid rgba(124,195,139,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.08));
}

/* Avatar mejor alineado al suelo */
.nv-grid-avatar{
  width: 52px;
  height: 66px;
  left: calc(var(--grid-left) + (var(--grid-x) + .5) * (var(--grid-width) / 7));
  top: calc(var(--grid-top) + (var(--grid-y) + .52) * (var(--grid-height) / 7));
  transform: translate(-50%,-92%);
  transition: left .16s steps(2,end), top .16s steps(2,end);
}
.nv-grid-avatar::after{
  left: 10px;
  right: 10px;
  bottom: -2px;
  height: 8px;
}

/* Puertas colocadas exactamente en ejes cardinales */
.nv-grid-door{z-index:6}
.nv-grid-door button{overflow:visible}
.nv-grid-door .door-frame{
  border: 3px solid #141514;
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.3);
}
.nv-grid-door.is-open .door-frame{background:linear-gradient(180deg,#355440,#1d3124)}
.nv-grid-door.is-closed .door-frame{background:linear-gradient(180deg,#694b45,#332321)}
.nv-grid-door .door-label{
  font-size: .68rem;
  letter-spacing: .02em;
  white-space: nowrap;
}
.nv-grid-door-north{
  left: 46.2%;
  top: 17.4%;
  width: 7.6%;
  height: 20.5%;
}
.nv-grid-door-south{
  left: 46.2%;
  bottom: 17.2%;
  width: 9.2%;
  height: 11.2%;
}
.nv-grid-door-south .door-frame{
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
}
.nv-grid-door-west{
  left: 18.8%;
  top: 42.5%;
  width: 7.4%;
  height: 21.5%;
  transform: skewY(26deg);
}
.nv-grid-door-east{
  right: 18.8%;
  top: 42.5%;
  width: 7.4%;
  height: 21.5%;
  transform: skewY(-26deg);
}
.nv-grid-door-west button{transform:skewY(-26deg)}
.nv-grid-door-east button{transform:skewY(26deg)}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-22px}

/* Props asentados en el suelo */
.nv-orchid-props .prop{z-index:4;filter:drop-shadow(0 9px 10px rgba(0,0,0,.34))}
.nv-orchid-props .prop-table{
  left: 41%;
  top: 60%;
  width: 18%;
  height: 7.4%;
  background: linear-gradient(180deg,#996c43,#5d4127);
  border: 2px solid #2f1f12;
  border-radius: 6px;
}
.nv-orchid-props .prop-table::after{
  content:"";
  position:absolute;
  left:10%; right:10%; bottom:-24%;
  height:24%;
  background:linear-gradient(180deg,#553921,#382518);
}
.nv-orchid-props .prop-pot{
  width: 52px;
  height: 56px;
  font-size: 36px;
  display:grid;
  place-items:center;
  background: linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.02)), linear-gradient(180deg,#6c4b34 0 42%, #a06e47 42% 100%);
  border: 2px solid #3d2a1b;
  border-radius: 8px 8px 16px 16px;
}
.nv-orchid-props .prop-pot-a{left:31.8%; top:54.8%}
.nv-orchid-props .prop-pot-b{right:31.8%; top:54.8%}
.nv-orchid-props .prop-light{
  left: 48.7%;
  top: 13.5%;
  width: 3%;
  height: 19%;
  background: linear-gradient(180deg,#bcc5cb,#555f64);
  border-radius: 999px;
}
.nv-orchid-props .prop-light::after{
  width: 260px;
  height: 220px;
  top: 76%;
  background: radial-gradient(ellipse at center, rgba(182,255,193,.28), rgba(182,255,193,.08) 42%, transparent 72%);
}
.nv-orchid-props .prop-humidity{
  left: 61.5%;
  top: 52.2%;
  width: 34px;
  height: 34px;
  display:grid;
  place-items:center;
  font-size: 28px;
  border-radius: 8px;
  background: rgba(225,234,230,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

/* Limpiar composición global */
.nv-retro-stage{padding:18px}
.nv-side-console{padding:18px}
.nv-retro-toolbar{margin-bottom:16px}
.nv-retro-status span{box-shadow: inset 0 1px 0 #fff, 0 2px 8px rgba(0,0,0,.08)}

@media (max-width: 760px){
  .nv-orchid-shell{
    --grid-left: 22%;
    --grid-top: 55%;
    --grid-width: 56%;
    --grid-height: 24%;
  }
  .nv-grid-avatar{width:40px;height:52px}
  .nv-orchid-props .prop-table{top:63%;width:20%}
  .nv-orchid-props .prop-pot{width:42px;height:46px;font-size:28px}
  .nv-grid-door-north{top:18%;height:18%}
  .nv-grid-door-west,.nv-grid-door-east{top:44.5%;height:18%}
  .nv-grid-door-south{bottom:18.5%;height:9.5%}
}

/* === P103 v1.9: escena limpia, solo puertas operativas === */
.nv-orchid-shell{
  --grid-left: 23%;
  --grid-top: 49%;
  --grid-width: 54%;
  --grid-height: 30%;
}

/* Eliminar paredes y objetos */
.nv-orchid-room .nv-wall,
.nv-orchid-room .nv-room-bg .nv-wall,
.nv-orchid-room .nv-orchid-props,
.nv-orchid-room .prop,
.nv-orchid-room .nv-wall-back,
.nv-orchid-room .nv-wall-left,
.nv-orchid-room .nv-wall-right{display:none !important}

/* Fondo limpio */
.nv-orchid-room{
  background:
    radial-gradient(circle at 50% 48%, rgba(73,134,85,.12), transparent 18%),
    linear-gradient(180deg,#07100d 0%, #08120e 100%);
}

/* Solo suelo isométrico */
.nv-orchid-room .nv-floor{
  left: 17%;
  right: 17%;
  bottom: 13%;
  height: 34%;
  clip-path: polygon(14% 0, 86% 0, 100% 36%, 72% 100%, 28% 100%, 0 36%);
  background:
    linear-gradient(90deg, rgba(110,180,125,.12) 1px, transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg, rgba(110,180,125,.10) 1px, transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#122019 0%, #0c1511 55%, #09110d 100%);
  border: 2px solid #1a2a1f;
  box-shadow: inset 0 -24px 38px rgba(0,0,0,.36), 0 8px 18px rgba(0,0,0,.25);
}

/* Rejilla centrada en el suelo */
.nv-orchid-room .nv-tile-grid{
  left: var(--grid-left);
  top: var(--grid-top);
  width: var(--grid-width);
  height: var(--grid-height);
  transform: perspective(920px) rotateX(66deg);
  opacity: .62;
}
.nv-orchid-room .nv-tile-grid span{
  border: 1px solid rgba(120,198,137,.20);
}

/* Avatar mejor apoyado en la rejilla */
.nv-grid-avatar{
  width: 52px;
  height: 66px;
  left: calc(var(--grid-left) + (var(--grid-x) + .5) * (var(--grid-width) / 7));
  top: calc(var(--grid-top) + (var(--grid-y) + .58) * (var(--grid-height) / 7));
  transform: translate(-50%,-92%);
}

/* Puertas como prioridad visual y operativa */
.nv-grid-door{
  z-index: 8;
}
.nv-grid-door button{
  overflow: visible;
}
.nv-grid-door .door-frame{
  border: 3px solid #141514;
  border-radius: 7px;
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.08), 0 10px 18px rgba(0,0,0,.34);
}
.nv-grid-door.is-open .door-frame{
  background: linear-gradient(180deg,#31553a,#162b1c);
}
.nv-grid-door.is-closed .door-frame{
  background: linear-gradient(180deg,#754e47,#342220);
}
.nv-grid-door .door-light{
  width: 12px;
  height: 12px;
  right: 8px;
}
.nv-grid-door .door-label{
  font-size: .68rem;
  bottom: -23px;
  max-width: 160px;
}

/* Norte */
.nv-grid-door-north{
  left: 46.2%;
  top: 18.3%;
  width: 7.8%;
  height: 17.5%;
}
/* Sur */
.nv-grid-door-south{
  left: 45.5%;
  bottom: 17.8%;
  width: 9.2%;
  height: 9.8%;
}
.nv-grid-door-south .door-frame{
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
}
/* Oeste */
.nv-grid-door-west{
  left: 18.9%;
  top: 44.3%;
  width: 7.2%;
  height: 18.8%;
  transform: skewY(26deg);
}
.nv-grid-door-west button{transform: skewY(-26deg)}
/* Este */
.nv-grid-door-east{
  right: 18.9%;
  top: 44.3%;
  width: 7.2%;
  height: 18.8%;
  transform: skewY(-26deg);
}
.nv-grid-door-east button{transform: skewY(26deg)}

/* Limpiar el marco */
.nv-flash-frame{max-width:1040px;padding:14px}

@media (max-width:760px){
  .nv-orchid-shell{
    --grid-left: 22%;
    --grid-top: 53%;
    --grid-width: 56%;
    --grid-height: 24%;
  }
  .nv-grid-avatar{width:40px;height:52px}
  .nv-grid-door .door-label{display:none}
  .nv-grid-door-north{top:20%;height:15%}
  .nv-grid-door-west,.nv-grid-door-east{top:46%;height:16%}
  .nv-grid-door-south{bottom:19.5%;height:8.5%}
}

/* === P104 v2.0: puertas siempre visibles y operativas === */
.nv-orchid-room{
  background:
    radial-gradient(circle at 50% 46%, rgba(76,150,92,.10), transparent 16%),
    linear-gradient(180deg,#07100d 0%, #06100d 62%, #07110d 100%);
}

/* líneas guía sutiles para situar las puertas */
.nv-orchid-room::before,
.nv-orchid-room::after{
  content:"";
  position:absolute;
  pointer-events:none;
  opacity:.18;
}
.nv-orchid-room::before{
  left:50%; top:11%; bottom:24%; width:1px;
  background:linear-gradient(180deg, transparent, rgba(160,220,170,.6), transparent);
}
.nv-orchid-room::after{
  top:50%; left:17%; right:17%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(160,220,170,.5), transparent);
}

/* el suelo queda abajo y no tapa las puertas */
.nv-orchid-room .nv-floor{z-index:1}
.nv-orchid-room .nv-tile-grid{z-index:2}
.nv-grid-avatar{z-index:7}

/* puertas bien visibles */
.nv-grid-door{
  position:absolute;
  z-index:9;
  display:block;
}
.nv-grid-door button{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  overflow:visible;
}
.nv-grid-door button:disabled{cursor:default}
.nv-grid-door::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:16px;
  background:radial-gradient(circle, rgba(117,214,136,.18), transparent 70%);
  pointer-events:none;
}
.nv-grid-door .door-frame{
  position:absolute;
  inset:0;
  border:3px solid #151716;
  border-radius:8px;
  background:linear-gradient(180deg,#54725a 0%, #314637 38%, #18241d 100%);
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.10),
    0 0 0 1px rgba(0,0,0,.45),
    0 12px 20px rgba(0,0,0,.34);
}
.nv-grid-door.is-closed .door-frame{
  background:linear-gradient(180deg,#8a5c54 0%, #55352f 40%, #281816 100%);
}
.nv-grid-door.is-blocked .door-frame{
  background:linear-gradient(180deg,#4a4a4a 0%, #2a2a2a 42%, #171717 100%);
}
.nv-grid-door .door-frame::before,
.nv-grid-door .door-frame::after{
  content:"";
  position:absolute;
  top:12%; bottom:12%; width:2px;
  background:rgba(255,255,255,.10);
}
.nv-grid-door .door-frame::before{left:34%}
.nv-grid-door .door-frame::after{right:34%}
.nv-grid-door .door-light{
  position:absolute;
  width:12px; height:12px;
  right:8px; top:50%; transform:translateY(-50%);
  border-radius:50%;
  background:#8fff9f;
  box-shadow:0 0 10px rgba(143,255,159,.9);
}
.nv-grid-door.is-closed .door-light{
  background:#ff7568;
  box-shadow:0 0 10px rgba(255,117,104,.92);
}
.nv-grid-door.is-blocked .door-light{
  background:#b0b0b0;
  box-shadow:0 0 10px rgba(176,176,176,.72);
}
.nv-grid-door .door-label{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-24px;
  display:block;
  white-space:nowrap;
  font-size:.7rem;
  font-weight:900;
  color:#ebfff0;
  letter-spacing:.02em;
  text-shadow:0 2px 6px rgba(0,0,0,.95);
}

/* posiciones claras */
.nv-grid-door-north{
  left:46.2%;
  top:12.2%;
  width:7.6%;
  height:17.8%;
}
.nv-grid-door-south{
  left:45.6%;
  bottom:13.8%;
  width:8.8%;
  height:12.2%;
}
.nv-grid-door-south .door-frame{
  clip-path:polygon(10% 0, 90% 0, 100% 100%, 0 100%);
}
.nv-grid-door-west{
  left:12.8%;
  top:39.8%;
  width:7.6%;
  height:18.8%;
  transform:skewY(24deg);
}
.nv-grid-door-west button{transform:skewY(-24deg)}
.nv-grid-door-east{
  right:12.8%;
  top:39.8%;
  width:7.6%;
  height:18.8%;
  transform:skewY(-24deg);
}
.nv-grid-door-east button{transform:skewY(24deg)}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-22px}

/* si no hay paso, se sigue viendo la puerta */
.nv-grid-door.is-blocked{opacity:.78}

@media (max-width:760px){
  .nv-grid-door .door-label{display:none}
  .nv-grid-door-north{top:13.5%; height:16%}
  .nv-grid-door-west,.nv-grid-door-east{top:41.8%; height:17%}
  .nv-grid-door-south{bottom:15.5%; height:10.5%}
}

/* === P105 v2.1: puertas ancladas al suelo y salida por casilla central === */
/* La escena queda sin paredes/objetos: las puertas se alinean con las cuatro salidas reales de la rejilla. */
.nv-orchid-room .nv-tile-grid span:nth-child(4),
.nv-orchid-room .nv-tile-grid span:nth-child(22),
.nv-orchid-room .nv-tile-grid span:nth-child(28),
.nv-orchid-room .nv-tile-grid span:nth-child(46){
  background:linear-gradient(180deg, rgba(116,224,137,.16), rgba(116,224,137,.04)) !important;
  box-shadow:inset 0 0 0 1px rgba(145,255,165,.20), inset 0 0 14px rgba(145,255,165,.10);
}
.nv-grid-door{
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.42));
}
.nv-grid-door::before{
  inset:-8px;
  background:radial-gradient(ellipse at center, rgba(117,214,136,.16), transparent 72%);
}
.nv-grid-door::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:-5px;
  height:16px;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.46), transparent 72%);
  pointer-events:none;
  z-index:-1;
}
.nv-grid-door .door-frame{
  border-color:#171a18;
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.10),
    inset 0 -12px 20px rgba(0,0,0,.24),
    0 0 0 1px rgba(0,0,0,.52),
    0 9px 18px rgba(0,0,0,.36);
}
.nv-grid-door .door-label{
  bottom:-23px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(4,10,7,.54);
  border:1px solid rgba(160,230,172,.14);
}
/* Norte: baja desde la pared flotante hasta el borde superior del suelo */
.nv-grid-door-north{
  left:45.95%;
  top:41.6%;
  width:8.1%;
  height:16.9%;
  transform:none;
}
/* Sur: se apoya justo bajo la casilla central inferior */
.nv-grid-door-south{
  left:45.75%;
  top:71.5%;
  bottom:auto;
  width:8.5%;
  height:11.6%;
  transform:none;
}
.nv-grid-door-south .door-frame{
  clip-path:polygon(9% 0, 91% 0, 100% 100%, 0 100%);
}
/* Oeste y Este: se acercan a los laterales de la rejilla, no al muro perimetral */
.nv-grid-door-west{
  left:18.2%;
  top:56.4%;
  width:7.6%;
  height:15.8%;
  transform:skewY(18deg);
}
.nv-grid-door-west button{transform:skewY(-18deg)}
.nv-grid-door-east{
  right:18.2%;
  top:56.4%;
  width:7.6%;
  height:15.8%;
  transform:skewY(-18deg);
}
.nv-grid-door-east button{transform:skewY(18deg)}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-24px}
.nv-grid-door.is-blocked{
  opacity:.58;
}
.nv-grid-door.is-blocked .door-label{
  color:#d9e2dc;
  border-color:rgba(210,220,214,.16);
}

@media (max-width:760px){
  .nv-grid-door-north{top:43.4%;height:14.8%}
  .nv-grid-door-south{top:72.2%;height:9.8%}
  .nv-grid-door-west,.nv-grid-door-east{top:57.2%;height:13.8%}
}

/* === P106 v2.2: habitación con perspectiva coherente y puertas ligadas a la rejilla === */
.nv-orchid-shell{
  --grid-left: 23%;
  --grid-top: 50%;
  --grid-width: 54%;
  --grid-height: 30%;
  --orchid-neon:#8df0a5;
}
.nv-orchid-room{
  background:
    radial-gradient(circle at 50% 48%, rgba(113,221,134,.14), transparent 18%),
    linear-gradient(180deg,#06100c 0%, #07130e 52%, #050c09 100%);
}
.nv-orchid-room::before,
.nv-orchid-room::after{display:none!important}
.nv-room-bg{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.nv-room-wall{
  position:absolute;
  pointer-events:none;
  border:2px solid rgba(27,43,33,.95);
  box-shadow:inset 0 0 38px rgba(0,0,0,.42);
}
.nv-room-wall-back{
  left:30%;
  top:14%;
  width:40%;
  height:31%;
  clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);
  background:
    linear-gradient(90deg,rgba(135,214,150,.11) 1px,transparent 1px) 0 0/43px 43px,
    linear-gradient(180deg,#14261b,#0b1811 72%,#08120d);
  opacity:.82;
}
.nv-room-wall-west{
  left:8%;
  top:22%;
  width:38%;
  height:50%;
  clip-path:polygon(0 13%,100% 0,76% 100%,0 82%);
  background:
    linear-gradient(135deg,rgba(135,214,150,.12),transparent 42%),
    linear-gradient(90deg,rgba(135,214,150,.08) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#102016,#07120d);
  opacity:.74;
}
.nv-room-wall-east{
  right:8%;
  top:22%;
  width:38%;
  height:50%;
  clip-path:polygon(0 0,100% 13%,100% 82%,24% 100%);
  background:
    linear-gradient(225deg,rgba(135,214,150,.12),transparent 42%),
    linear-gradient(90deg,rgba(135,214,150,.08) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#102016,#07120d);
  opacity:.74;
}
.nv-orchid-room .nv-floor{
  left:17.8%;
  right:17.8%;
  top:42.5%;
  bottom:auto;
  height:43%;
  z-index:2;
  clip-path:polygon(13% 0,87% 0,100% 39%,73% 100%,27% 100%,0 39%);
  background:
    linear-gradient(90deg, rgba(128,216,145,.14) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg, rgba(128,216,145,.09) 1px, transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#14241a 0%, #0d1812 54%, #08100c 100%);
  border:2px solid rgba(35,63,43,.92);
  box-shadow:
    inset 0 -26px 42px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(159,241,176,.13),
    0 10px 24px rgba(0,0,0,.30);
}
.nv-orchid-room .nv-tile-grid{
  left:var(--grid-left);
  top:var(--grid-top);
  width:var(--grid-width);
  height:var(--grid-height);
  z-index:3;
  transform:perspective(900px) rotateX(63deg);
  transform-origin:center center;
  opacity:.74;
}
.nv-orchid-room .nv-tile-grid span{
  border:1px solid rgba(126,217,145,.20);
  background:linear-gradient(180deg,rgba(154,242,171,.035),rgba(0,0,0,.045));
}
.nv-orchid-room .nv-tile-grid span:nth-child(4),
.nv-orchid-room .nv-tile-grid span:nth-child(22),
.nv-orchid-room .nv-tile-grid span:nth-child(28),
.nv-orchid-room .nv-tile-grid span:nth-child(46){
  background:linear-gradient(180deg, rgba(142,245,162,.19), rgba(142,245,162,.04)) !important;
  box-shadow:inset 0 0 0 1px rgba(161,255,178,.25), inset 0 0 14px rgba(161,255,178,.11);
}
.nv-grid-avatar{
  z-index:8;
  width:52px;
  height:66px;
  left:calc(var(--grid-left) + (var(--grid-x) + .5) * (var(--grid-width) / 7));
  top:calc(var(--grid-top) + (var(--grid-y) + .62) * (var(--grid-height) / 7));
  transform:translate(-50%,-91%);
  filter:drop-shadow(0 10px 9px rgba(0,0,0,.45));
}
.nv-grid-avatar::after{
  bottom:2px;
  height:9px;
  opacity:.78;
}
.nv-grid-door{
  z-index:7;
  filter:drop-shadow(0 10px 10px rgba(0,0,0,.44));
}
.nv-grid-door::before{
  inset:-7px;
  border-radius:16px;
  background:radial-gradient(ellipse at center, rgba(117,214,136,.14), transparent 72%);
}
.nv-grid-door::after{
  content:"";
  position:absolute;
  left:-12%;
  right:-12%;
  bottom:-5px;
  height:16px;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.48), transparent 72%);
  pointer-events:none;
  z-index:-1;
}
.nv-grid-door .door-frame{
  border:3px solid #141716;
  border-radius:8px;
  background:linear-gradient(180deg,#607d65 0%, #34513c 40%, #17241c 100%);
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.10),
    inset 0 -12px 20px rgba(0,0,0,.28),
    0 0 0 1px rgba(0,0,0,.52),
    0 8px 18px rgba(0,0,0,.36);
}
.nv-grid-door.is-open .door-frame{
  background:linear-gradient(180deg,#5f8965 0%, #2d6038 44%, #0f2317 100%);
}
.nv-grid-door.is-closed .door-frame{
  background:linear-gradient(180deg,#8d6058 0%, #52362f 42%, #281816 100%);
}
.nv-grid-door.is-wall .door-frame,
.nv-grid-door.is-blocked .door-frame{
  background:linear-gradient(180deg,#3c4640 0%, #25302a 48%, #141b17 100%);
  opacity:.80;
}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  background:#9aa39d;
  box-shadow:0 0 8px rgba(154,163,157,.58);
}
.nv-grid-door .door-label{
  bottom:-24px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(4,10,7,.58);
  border:1px solid rgba(160,230,172,.16);
}
.nv-grid-door.is-closed .door-label{border-color:rgba(255,165,143,.18)}
.nv-grid-door.is-wall .door-label,
.nv-grid-door.is-blocked .door-label{color:#d7e2dc;border-color:rgba(210,220,214,.16)}

/* Norte: puerta en pared trasera, tocando la salida superior de la rejilla */
.nv-grid-door-north{
  left:46.05%;
  top:32.2%;
  width:7.9%;
  height:17.2%;
  transform:none;
}
/* Sur: puerta baja apoyada en la salida inferior central */
.nv-grid-door-south{
  left:45.72%;
  top:74.8%;
  bottom:auto;
  width:8.56%;
  height:10.8%;
  transform:none;
}
.nv-grid-door-south .door-frame{clip-path:polygon(9% 0,91% 0,100% 100%,0 100%)}
/* Oeste y Este: compuertas laterales pegadas a los laterales del suelo, no al aire exterior */
.nv-grid-door-west{
  left:18.1%;
  top:55.6%;
  width:8.3%;
  height:16.2%;
  transform:skewY(17deg) scaleX(.92);
  transform-origin:right center;
}
.nv-grid-door-west button{transform:skewY(-8deg)}
.nv-grid-door-east{
  right:18.1%;
  top:55.6%;
  width:8.3%;
  height:16.2%;
  transform:skewY(-17deg) scaleX(.92);
  transform-origin:left center;
}
.nv-grid-door-east button{transform:skewY(8deg)}
.nv-grid-door-west .door-frame{clip-path:polygon(8% 4%,100% 0,92% 100%,0 96%)}
.nv-grid-door-east .door-frame{clip-path:polygon(0 0,92% 4%,100% 96%,8% 100%)}
.nv-grid-door-west::after,
.nv-grid-door-east::after{
  bottom:-7px;
  height:14px;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.52), transparent 72%);
}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-25px}

@media (max-width:760px){
  .nv-orchid-shell{--grid-left:22%;--grid-top:52%;--grid-width:56%;--grid-height:27%}
  .nv-room-wall-back{top:16%;height:29%}
  .nv-room-wall-west,.nv-room-wall-east{top:24%;height:48%}
  .nv-orchid-room .nv-floor{top:44%;height:42%}
  .nv-grid-avatar{width:40px;height:52px}
  .nv-grid-door .door-label{display:none}
  .nv-grid-door-north{top:35%;height:14.8%}
  .nv-grid-door-south{top:75.2%;height:9.6%}
  .nv-grid-door-west,.nv-grid-door-east{top:57.5%;height:14.4%}
}


/* === P107: corrección robusta de puertas y minimapa === */
.nv-grid-door.has-room .door-frame,
.nv-grid-door.is-open .door-frame,
.nv-grid-door.is-closed.has-room .door-frame{
  background:linear-gradient(180deg,#5f8965 0%, #2d6038 44%, #0f2317 100%);
}
.nv-grid-door.has-room .door-light,
.nv-grid-door.is-open .door-light,
.nv-grid-door.is-closed.has-room .door-light{
  background:#72ff8d;
  box-shadow:0 0 10px rgba(114,255,141,.9);
}
.nv-grid-door.is-wall .door-frame,
.nv-grid-door.is-blocked .door-frame{
  background:linear-gradient(180deg,#8d6058 0%, #52362f 42%, #281816 100%);
  opacity:.95;
}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  background:#ff6b5e;
  box-shadow:0 0 10px rgba(255,107,94,.85);
}
.nv-mini{
  position:relative;
  overflow:visible;
}
.nv-mini-door-indicator{
  position:absolute;
  display:block;
  border-radius:999px;
  background:#ff6b5e;
  box-shadow:0 0 5px rgba(255,107,94,.55);
}
.nv-mini-door-indicator.is-on{
  background:#72ff8d;
  box-shadow:0 0 5px rgba(114,255,141,.65);
}
.nv-mini-door-north,
.nv-mini-door-south{
  left:24%;
  width:52%;
  height:3px;
}
.nv-mini-door-west,
.nv-mini-door-east{
  top:24%;
  width:3px;
  height:52%;
}
.nv-mini-door-north{top:-4px}
.nv-mini-door-south{bottom:-4px}
.nv-mini-door-west{left:-4px}
.nv-mini-door-east{right:-4px}


/* === P108: puertas madera + plano girado a la derecha + transición sin caché === */
.nv-room-meta{
  margin:.35em 0 0;
  color:#31463a;
  font-size:.88rem;
  font-weight:800;
}
body.nv-room-transitioning .nv-orchid-room{
  filter:brightness(.92) contrast(1.03);
}
body.nv-room-transitioning .nv-orchid-room::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.0), rgba(255,255,255,.16), rgba(255,255,255,.0));
  animation:nv-room-sweep .35s linear 1;
  pointer-events:none;
  z-index:20;
}
@keyframes nv-room-sweep{
  from{transform:translateX(-100%)}
  to{transform:translateX(100%)}
}
/* giro general hacia la derecha */
.nv-wall-back{
  left:27%;
  right:20%;
  top:10%;
  height:32%;
  transform:skewX(-8deg);
  transform-origin:center bottom;
}
.nv-wall-left{
  left:12%;
  top:12%;
  width:27%;
  height:54%;
  clip-path:polygon(0 42%,86% 0,90% 68%,0 100%);
}
.nv-wall-right{
  right:6%;
  top:9%;
  width:37%;
  height:61%;
  clip-path:polygon(14% 0,100% 34%,100% 100%,6% 70%);
}
.nv-orchid-room .nv-floor{
  left:14%;
  right:7%;
  bottom:8%;
  height:51%;
  clip-path:polygon(10% 0,82% 0,100% 40%,56% 100%,0 46%);
  transform:skewX(-8deg);
  transform-origin:center center;
}
.nv-orchid-shell{--grid-left:23%;--grid-top:42%}
.nv-tile-grid{
  width:58%;
  height:44%;
  transform:perspective(820px) rotateX(60deg) rotateY(-15deg) rotateZ(-2deg);
  transform-origin:center center;
}
.nv-grid-avatar{
  left:calc(var(--grid-left) + (var(--grid-x) + .5) * (58% / 7));
  top:calc(var(--grid-top) + (var(--grid-y) + .28) * (44% / 7));
}
/* puertas madera cerradas: verde con sala contigua, rojo sin sala */
.nv-grid-door .door-frame{
  border:3px solid #2c1d13;
  border-radius:8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 0 4%, transparent 4% 10%, rgba(0,0,0,.10) 10% 12%, transparent 12% 18%, rgba(255,255,255,.04) 18% 22%, transparent 22% 100%),
    linear-gradient(180deg,#8d623a 0%, #744b28 34%, #5c381d 58%, #3e2413 100%);
  box-shadow:
    inset 0 0 0 2px rgba(255,242,220,.10),
    inset 0 -14px 18px rgba(0,0,0,.26),
    0 0 0 1px rgba(0,0,0,.52),
    0 8px 18px rgba(0,0,0,.36);
}
.nv-grid-door .door-frame::before,
.nv-grid-door .door-frame::after{
  background:rgba(56,29,14,.55);
}
.nv-grid-door.has-room .door-light,
.nv-grid-door.is-closed.has-room .door-light,
.nv-grid-door.is-open .door-light{
  background:#72ff8d;
  box-shadow:0 0 10px rgba(114,255,141,.92);
}
.nv-grid-door.has-room .door-label,
.nv-grid-door.is-open .door-label,
.nv-grid-door.is-closed.has-room .door-label{
  color:#eaffea;
  border-color:rgba(114,255,141,.20);
}
.nv-grid-door.is-wall .door-frame,
.nv-grid-door.is-blocked .door-frame{
  opacity:.96;
}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  background:#ff6b5e;
  box-shadow:0 0 10px rgba(255,107,94,.88);
}
.nv-grid-door.is-wall .door-label,
.nv-grid-door.is-blocked .door-label{
  color:#ffe8e4;
  border-color:rgba(255,107,94,.20);
}
/* recolocar puertas en el nuevo plano */
.nv-grid-door-north{
  left:48.4%;
  top:30.8%;
  width:7.4%;
  height:16.2%;
}
.nv-grid-door-south{
  left:49.8%;
  top:74.4%;
  width:7.7%;
  height:10.0%;
}
.nv-grid-door-west{
  left:16.4%;
  top:58.0%;
  width:8.0%;
  height:15.2%;
  transform:skewY(14deg) scaleX(.9);
}
.nv-grid-door-west button{transform:skewY(-6deg)}
.nv-grid-door-east{
  right:14.2%;
  top:54.4%;
  width:9.0%;
  height:17.0%;
  transform:skewY(-18deg) scaleX(.95);
}
.nv-grid-door-east button{transform:skewY(8deg)}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-24px}
@media (max-width:760px){
  .nv-orchid-shell{--grid-left:24%;--grid-top:51%}
  .nv-tile-grid{width:54%;height:26%}
  .nv-grid-avatar{left:calc(var(--grid-left) + (var(--grid-x) + .5) * (54% / 7));top:calc(var(--grid-top) + (var(--grid-y) + .28) * (26% / 7));}
}

/* === P109 v1.3: movimiento real por coordenadas + escena isométrica unificada desde vértice sur-este === */
.nv-orchid-shell{
  --p109-floor-left:14.5%;
  --p109-floor-top:39.5%;
  --p109-floor-width:74%;
  --p109-floor-height:47%;
  --grid-left:14.5%;
  --grid-top:39.5%;
  --grid-width:74%;
  --grid-height:47%;
}
.nv-orchid-room{
  background:
    radial-gradient(circle at 56% 53%, rgba(117,214,136,.13), transparent 21%),
    linear-gradient(180deg,#06100c 0%, #07130e 49%, #030806 100%) !important;
}
.nv-orchid-room .nv-room-bg{z-index:1;overflow:hidden}
.nv-orchid-room .nv-room-wall{
  border-color:rgba(38,66,48,.96);
  box-shadow:inset 0 0 42px rgba(0,0,0,.46), 0 10px 24px rgba(0,0,0,.24);
}
.nv-orchid-room .nv-room-wall-back{
  left:31.5%;
  top:13.6%;
  width:42%;
  height:30%;
  right:auto;
  transform:skewX(-7deg);
  transform-origin:center bottom;
  clip-path:polygon(3% 0,100% 0,89% 100%,0 100%);
  background:
    linear-gradient(90deg,rgba(134,219,151,.10) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#14281c,#09150f 72%,#06100b);
  opacity:.86;
}
.nv-orchid-room .nv-room-wall-west{
  left:9.5%;
  top:23.5%;
  width:39%;
  height:50%;
  transform:skewY(-1deg);
  clip-path:polygon(0 22%,100% 0,84% 100%,0 82%);
  background:
    linear-gradient(135deg,rgba(135,214,150,.13),transparent 44%),
    linear-gradient(90deg,rgba(135,214,150,.08) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#102117,#07120d);
  opacity:.74;
}
.nv-orchid-room .nv-room-wall-east{
  right:4.5%;
  top:20.4%;
  width:45%;
  height:56%;
  transform:skewY(-1deg);
  clip-path:polygon(0 0,100% 24%,100% 94%,19% 100%);
  background:
    linear-gradient(225deg,rgba(135,214,150,.14),transparent 42%),
    linear-gradient(90deg,rgba(135,214,150,.085) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#13261b,#07120d);
  opacity:.79;
}
.nv-orchid-room .nv-floor{
  left:var(--p109-floor-left) !important;
  top:var(--p109-floor-top) !important;
  right:auto !important;
  bottom:auto !important;
  width:var(--p109-floor-width) !important;
  height:var(--p109-floor-height) !important;
  z-index:2;
  transform:none !important;
  transform-origin:center center;
  clip-path:polygon(20% 1%,83% 4%,100% 43%,58% 100%,0 45%) !important;
  background:
    linear-gradient(116deg,rgba(137,226,153,.12) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(26deg,rgba(137,226,153,.10) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#14261b 0%,#0c1711 55%,#070e0a 100%) !important;
  border:2px solid rgba(49,85,58,.92);
  box-shadow:inset 0 -30px 48px rgba(0,0,0,.40), inset 0 1px 0 rgba(161,255,178,.14), 0 12px 28px rgba(0,0,0,.34);
}
.nv-orchid-room .nv-tile-grid{
  left:var(--p109-floor-left) !important;
  top:var(--p109-floor-top) !important;
  width:var(--p109-floor-width) !important;
  height:var(--p109-floor-height) !important;
  display:block !important;
  z-index:3;
  transform:none !important;
  clip-path:polygon(20% 1%,83% 4%,100% 43%,58% 100%,0 45%) !important;
  opacity:.92;
  background:
    repeating-linear-gradient(116deg,transparent 0 9.7%,rgba(151,237,166,.22) 9.9% 10.25%,transparent 10.45% 19.7%),
    repeating-linear-gradient(26deg,transparent 0 9.7%,rgba(151,237,166,.20) 9.9% 10.25%,transparent 10.45% 19.7%),
    radial-gradient(circle at 58% 55%,rgba(126,255,149,.10),transparent 36%);
  pointer-events:none;
}
.nv-orchid-room .nv-tile-grid span{display:none !important}
.nv-grid-avatar{
  left:calc(14.5% + (var(--grid-x) + .5) * (74% / 7)) !important;
  top:calc(39.5% + (var(--grid-y) + .60) * (47% / 7)) !important;
  transform:translate(-50%,-88%) !important;
  z-index:9;
}
.nv-grid-door{
  z-index:8;
}
.nv-grid-door .door-frame{
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 0 4%, transparent 4% 10%, rgba(0,0,0,.12) 10% 13%, transparent 13% 20%, rgba(255,255,255,.045) 20% 24%, transparent 24% 100%),
    linear-gradient(180deg,#94683e 0%, #744b28 35%, #5c381d 59%, #3d2312 100%) !important;
  border-color:#2b1b10;
}
.nv-grid-door.has-room .door-light,
.nv-grid-door.is-closed.has-room .door-light,
.nv-grid-door.is-open .door-light{
  background:#70ff8b !important;
  box-shadow:0 0 12px rgba(112,255,139,.96) !important;
}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  background:#ff655a !important;
  box-shadow:0 0 12px rgba(255,101,90,.9) !important;
}
.nv-grid-door.is-wall .door-frame,
.nv-grid-door.is-blocked .door-frame{
  filter:saturate(.95) brightness(.82);
}
.nv-grid-door-north{
  left:49.2% !important;
  top:30.7% !important;
  width:7.1% !important;
  height:16.8% !important;
  transform:skewX(-4deg) !important;
}
.nv-grid-door-north button{transform:none !important}
.nv-grid-door-south{
  left:54.1% !important;
  top:76.8% !important;
  width:8.0% !important;
  height:9.8% !important;
  transform:skewX(-7deg) scaleX(1.02) !important;
}
.nv-grid-door-south button{transform:none !important}
.nv-grid-door-west{
  left:15.6% !important;
  top:58.8% !important;
  width:8.4% !important;
  height:15.4% !important;
  transform:skewY(18deg) scaleX(.88) !important;
  transform-origin:right center;
}
.nv-grid-door-west button{transform:skewY(-7deg) !important}
.nv-grid-door-east{
  right:10.1% !important;
  top:55.3% !important;
  width:9.1% !important;
  height:17.1% !important;
  transform:skewY(-18deg) scaleX(.98) !important;
  transform-origin:left center;
}
.nv-grid-door-east button{transform:skewY(7deg) !important}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-26px !important}
.nv-grid-door-south .door-label{bottom:-22px !important}
@media (max-width:760px){
  .nv-orchid-shell{
    --p109-floor-left:14%;
    --p109-floor-top:43%;
    --p109-floor-width:75%;
    --p109-floor-height:42%;
  }
  .nv-grid-avatar{
    left:calc(14% + (var(--grid-x) + .5) * (75% / 7)) !important;
    top:calc(43% + (var(--grid-y) + .60) * (42% / 7)) !important;
  }
  .nv-grid-door-north{top:34.4% !important;height:14.8% !important}
  .nv-grid-door-south{top:77.2% !important;height:8.8% !important}
  .nv-grid-door-west,.nv-grid-door-east{top:59.5% !important;height:14.4% !important}
}


/* === P110 v1.4: reajuste final de isométrica preservando la lógica de movimiento === */
/* Objetivo: mantener la orientación SE de los muros laterales, retirar el paramento frontal
   y alinear suelo, rejilla y puertas con esa misma perspectiva. */
.nv-orchid-shell{
  --p110-floor-left:18.2%;
  --p110-floor-top:44.2%;
  --p110-floor-width:66.5%;
  --p110-floor-height:39.8%;
  --grid-left:18.2%;
  --grid-top:44.2%;
  --grid-width:66.5%;
  --grid-height:39.8%;
}
.nv-orchid-room .nv-room-wall-back{
  display:none !important;
}
.nv-orchid-room .nv-room-wall-west{
  left:10.2% !important;
  top:24.2% !important;
  width:34.5% !important;
  height:49.5% !important;
  transform:none !important;
  clip-path:polygon(0 22%,100% 0,83% 100%,0 82%) !important;
  background:
    linear-gradient(135deg,rgba(150,226,165,.12),transparent 46%),
    linear-gradient(90deg,rgba(136,214,150,.08) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#112219,#07120d) !important;
  opacity:.78 !important;
}
.nv-orchid-room .nv-room-wall-east{
  right:4.8% !important;
  top:19.6% !important;
  width:42.5% !important;
  height:55.5% !important;
  transform:none !important;
  clip-path:polygon(0 0,100% 24%,100% 94%,18% 100%) !important;
  background:
    linear-gradient(225deg,rgba(150,226,165,.12),transparent 44%),
    linear-gradient(90deg,rgba(136,214,150,.08) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(180deg,#13261b,#07120d) !important;
  opacity:.82 !important;
}
.nv-orchid-room .nv-floor{
  left:var(--p110-floor-left) !important;
  top:var(--p110-floor-top) !important;
  width:var(--p110-floor-width) !important;
  height:var(--p110-floor-height) !important;
  right:auto !important;
  bottom:auto !important;
  clip-path:polygon(16% 0,85% 2%,100% 41%,57% 100%,0 47%) !important;
  background:
    linear-gradient(118deg,rgba(140,226,155,.10) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(28deg,rgba(140,226,155,.08) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(180deg,#13231a 0%,#0c1711 56%,#060d09 100%) !important;
  border:2px solid rgba(48,84,58,.90) !important;
  box-shadow:
    inset 0 -28px 44px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(161,255,178,.12),
    0 12px 28px rgba(0,0,0,.34) !important;
}
.nv-orchid-room .nv-tile-grid{
  left:var(--p110-floor-left) !important;
  top:var(--p110-floor-top) !important;
  width:var(--p110-floor-width) !important;
  height:var(--p110-floor-height) !important;
  clip-path:polygon(16% 0,85% 2%,100% 41%,57% 100%,0 47%) !important;
  background:
    repeating-linear-gradient(118deg,transparent 0 9.7%,rgba(151,237,166,.22) 9.9% 10.2%,transparent 10.4% 19.8%),
    repeating-linear-gradient(28deg,transparent 0 9.7%,rgba(151,237,166,.18) 9.9% 10.2%,transparent 10.4% 19.8%),
    radial-gradient(circle at 55% 52%,rgba(126,255,149,.10),transparent 36%) !important;
  opacity:.88 !important;
}
.nv-grid-avatar{
  left:calc(18.2% + (var(--grid-x) + .5) * (66.5% / 7)) !important;
  top:calc(44.2% + (var(--grid-y) + .62) * (39.8% / 7)) !important;
  transform:translate(-50%,-90%) !important;
}
/* Puerta norte sin paramento frontal visible */
.nv-grid-door-north{
  left:48.6% !important;
  top:34.2% !important;
  width:7.0% !important;
  height:16.0% !important;
  transform:skewX(-3deg) !important;
}
.nv-grid-door-north button{transform:none !important;}
/* Puerta sur centrada respecto a la salida inferior de la rejilla */
.nv-grid-door-south{
  left:48.9% !important;
  top:73.6% !important;
  width:8.0% !important;
  height:10.1% !important;
  transform:skewX(-6deg) scaleX(1.01) !important;
}
.nv-grid-door-south button{transform:none !important;}
/* Puertas laterales recolocadas para que apoyen en los muros laterales */
.nv-grid-door-west{
  left:18.7% !important;
  top:57.0% !important;
  width:7.5% !important;
  height:16.8% !important;
  transform:skewY(22deg) scaleX(.84) !important;
  transform-origin:right center !important;
}
.nv-grid-door-west button{transform:skewY(-10deg) !important;}
.nv-grid-door-east{
  right:12.0% !important;
  top:53.8% !important;
  width:8.6% !important;
  height:19.0% !important;
  transform:skewY(-20deg) scaleX(.92) !important;
  transform-origin:left center !important;
}
.nv-grid-door-east button{transform:skewY(9deg) !important;}
.nv-grid-door-west .door-frame{clip-path:polygon(10% 4%,100% 0,92% 100%,0 96%) !important;}
.nv-grid-door-east .door-frame{clip-path:polygon(0 0,90% 4%,100% 96%,8% 100%) !important;}
.nv-grid-door-west .door-label,
.nv-grid-door-east .door-label{bottom:-25px !important;}
.nv-grid-door-south .door-label{bottom:-22px !important;}
@media (max-width:760px){
  .nv-orchid-shell{
    --p110-floor-left:17.5%;
    --p110-floor-top:47.8%;
    --p110-floor-width:69%;
    --p110-floor-height:34%;
  }
  .nv-grid-avatar{
    left:calc(17.5% + (var(--grid-x) + .5) * (69% / 7)) !important;
    top:calc(47.8% + (var(--grid-y) + .62) * (34% / 7)) !important;
  }
  .nv-grid-door-north{top:37.5% !important;height:14.0% !important;}
  .nv-grid-door-south{top:74.8% !important;height:9.2% !important;}
  .nv-grid-door-west{top:59.0% !important;height:14.6% !important;}
  .nv-grid-door-east{top:56.0% !important;height:16.2% !important;}
}


/* === P111 v1.5: compactación general + isométrica 7x7 con paredes frontales transparentes === */
body{overflow-x:hidden;}
.nv-top{
  padding:8px 14px !important;
  min-height:auto !important;
}
.nv-brand a{font-size:1rem !important;}
.nv-brand span{padding:3px 8px !important;font-size:.72rem !important;}
.nv-nav{gap:6px !important;}
.nv-nav a{padding:5px 9px !important;font-size:.84rem !important;}
.nv-main{padding:10px 12px 16px !important;}
.nv-game-head-compact{
  margin:4px 0 8px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
}
.nv-game-head-compact h1{font-size:1.28rem !important;margin:.05em 0 !important;}
.nv-game-head-compact .nv-muted{font-size:.83rem !important;}
.nv-inline-form-compact input{min-width:150px !important;padding:8px 10px !important;}
.nv-inline-form .nv-btn,.nv-btn{padding:8px 12px !important;min-height:auto !important;}
.nv-game-shell{min-height:auto !important;}
.nv-fab-stack{
  position:absolute !important;
  top:-2px !important;
  right:0 !important;
  bottom:auto !important;
  flex-direction:row !important;
  gap:6px !important;
}
.nv-fab{
  min-width:auto !important;
  padding:6px 10px !important;
  border-radius:12px !important;
  font-size:.82rem !important;
  line-height:1.1 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.16) !important;
}
.nv-retro-portal{
  grid-template-columns:minmax(0,1fr) 230px !important;
  gap:10px !important;
  align-items:start !important;
}
.nv-retro-stage,.nv-side-console{
  padding:10px !important;
  border-width:1px !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 28px rgba(0,0,0,.16) !important;
}
.nv-retro-toolbar{
  align-items:flex-start !important;
  gap:8px !important;
  margin-bottom:8px !important;
  padding-right:124px !important;
}
.nv-retro-toolbar h2{font-size:1.12rem !important;}
.nv-kicker,.nv-room-meta{font-size:.74rem !important;}
.nv-retro-status{gap:6px !important;}
.nv-retro-status span{
  padding:4px 8px !important;
  font-size:.78rem !important;
}
.nv-flash-frame{
  width:min(100%,860px) !important;
  margin:0 auto !important;
  padding:7px !important;
  border-width:2px !important;
  border-radius:7px !important;
  box-shadow:inset 0 0 0 1px #c8c8c8,0 10px 22px rgba(0,0,0,.20) !important;
}
.nv-orchid-room{border-width:1px !important;border-radius:4px !important;}

/* Escena: dos paredes posteriores opacas con color variable + dos frontales transparentes */
.nv-orchid-shell{
  --p111-floor-left:18.5%;
  --p111-floor-top:44.5%;
  --p111-floor-width:65.5%;
  --p111-floor-height:39%;
  --grid-left:18.5%;
  --grid-top:44.5%;
  --grid-width:65.5%;
  --grid-height:39%;
}
.nv-orchid-room .nv-room-wall-back{display:none !important;}
.nv-orchid-room .nv-room-wall-west,
.nv-orchid-room .nv-room-wall-east,
.nv-orchid-room .nv-room-wall-front-left,
.nv-orchid-room .nv-room-wall-front-right{
  position:absolute;
  pointer-events:none;
}
.nv-orchid-room .nv-room-wall-west{
  left:10.5% !important;
  top:23% !important;
  width:34% !important;
  height:49% !important;
  clip-path:polygon(0 22%,100% 0,84% 100%,0 82%) !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.10),transparent 46%),
    linear-gradient(180deg,var(--room-wall-main,#4b6b58),var(--room-wall-dark,#243229)) !important;
  border:2px solid rgba(12,20,15,.86) !important;
  box-shadow:inset -10px 0 20px rgba(0,0,0,.18);
  opacity:.94 !important;
}
.nv-orchid-room .nv-room-wall-east{
  right:5% !important;
  top:19% !important;
  width:41% !important;
  height:54% !important;
  clip-path:polygon(0 0,100% 24%,100% 94%,18% 100%) !important;
  background:
    linear-gradient(225deg,rgba(255,255,255,.10),transparent 46%),
    linear-gradient(180deg,var(--room-wall-side,#648772),var(--room-wall-side-dark,#2f4136)) !important;
  border:2px solid rgba(12,20,15,.86) !important;
  box-shadow:inset 12px 0 22px rgba(0,0,0,.18);
  opacity:.94 !important;
}
.nv-orchid-room .nv-room-wall-front-left{
  left:18.7%;
  top:60.8%;
  width:24.5%;
  height:22.2%;
  clip-path:polygon(0 12%,100% 0,79% 100%,0 82%);
  background:linear-gradient(180deg,var(--room-front-glass,rgba(170,220,186,.14)),rgba(255,255,255,.05));
  border:1px solid rgba(210,255,223,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(1px);
  opacity:.48;
  z-index:4;
}
.nv-orchid-room .nv-room-wall-front-right{
  right:15.8%;
  top:57.8%;
  width:26.6%;
  height:24.8%;
  clip-path:polygon(0 0,100% 12%,100% 82%,18% 100%);
  background:linear-gradient(180deg,var(--room-front-glass,rgba(170,220,186,.14)),rgba(255,255,255,.05));
  border:1px solid rgba(210,255,223,.28);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  backdrop-filter:blur(1px);
  opacity:.48;
  z-index:4;
}
.nv-orchid-room .nv-floor{
  left:var(--p111-floor-left) !important;
  top:var(--p111-floor-top) !important;
  width:var(--p111-floor-width) !important;
  height:var(--p111-floor-height) !important;
  right:auto !important;
  bottom:auto !important;
  clip-path:polygon(16% 0,84% 2%,100% 42%,57% 100%,0 47%) !important;
  background:linear-gradient(180deg,#13231a 0%,#0b1711 56%,#060d09 100%) !important;
  border:2px solid rgba(40,66,48,.94) !important;
  box-shadow:inset 0 -20px 36px rgba(0,0,0,.36),0 10px 20px rgba(0,0,0,.28) !important;
  z-index:2 !important;
}
/* Rejilla 7x7 real con 49 cuadros visibles */
.nv-orchid-room .nv-tile-grid{
  left:var(--p111-floor-left) !important;
  top:var(--p111-floor-top) !important;
  width:var(--p111-floor-width) !important;
  height:var(--p111-floor-height) !important;
  display:grid !important;
  grid-template-columns:repeat(7,1fr) !important;
  grid-template-rows:repeat(7,1fr) !important;
  gap:0 !important;
  transform:none !important;
  clip-path:polygon(16% 0,84% 2%,100% 42%,57% 100%,0 47%) !important;
  background:none !important;
  opacity:1 !important;
  z-index:3 !important;
}
.nv-orchid-room .nv-tile-grid span{
  display:block !important;
  border:1px solid rgba(150,236,167,.26) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.03)) !important;
  box-shadow:inset 0 0 0 1px rgba(7,18,11,.12);
}
.nv-grid-avatar{
  left:calc(18.5% + (var(--grid-x) + .5) * (65.5% / 7)) !important;
  top:calc(44.5% + (var(--grid-y) + .64) * (39% / 7)) !important;
  transform:translate(-50%,-88%) !important;
  z-index:8 !important;
}
/* Puertas de madera en línea, integradas al plano */
.nv-grid-door{z-index:7 !important;}
.nv-grid-door .door-frame{
  border:2px solid #2b1b10 !important;
  border-radius:6px !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.06) 0 3%, transparent 3% 15%, rgba(0,0,0,.14) 15% 18%, transparent 18% 28%, rgba(255,255,255,.04) 28% 31%, transparent 31% 100%),
    linear-gradient(180deg,#94683e 0%, #744b28 35%, #5c381d 58%, #3d2312 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(255,242,220,.10), inset 0 -12px 16px rgba(0,0,0,.24), 0 6px 14px rgba(0,0,0,.28) !important;
}
.nv-grid-door .door-frame::before,
.nv-grid-door .door-frame::after{background:rgba(56,29,14,.56) !important;}
.nv-grid-door-north{
  left:48.7% !important;
  top:33.6% !important;
  width:6.8% !important;
  height:15.6% !important;
  transform:skewX(-3deg) !important;
}
.nv-grid-door-south{
  left:48.8% !important;
  top:74.0% !important;
  width:8.0% !important;
  height:9.8% !important;
  transform:skewX(-6deg) !important;
}
.nv-grid-door-west{
  left:18.9% !important;
  top:56.9% !important;
  width:7.4% !important;
  height:16.4% !important;
  transform:skewY(22deg) scaleX(.84) !important;
  transform-origin:right center !important;
}
.nv-grid-door-east{
  right:12.2% !important;
  top:53.7% !important;
  width:8.4% !important;
  height:18.5% !important;
  transform:skewY(-20deg) scaleX(.92) !important;
  transform-origin:left center !important;
}
.nv-grid-door-west button{transform:skewY(-10deg) !important;}
.nv-grid-door-east button{transform:skewY(9deg) !important;}
/* Frontales transparentes: las puertas del frente también transparentes para ver rejilla y objetos */
.nv-grid-door-south .door-frame,
.nv-grid-door-east .door-frame{
  opacity:.64;
}
.nv-grid-door .door-label{
  bottom:-21px !important;
  font-size:.64rem !important;
  padding:2px 6px !important;
  border-radius:999px !important;
}

/* Consola lateral compacta */
.nv-side-console{gap:8px !important;}
.nv-console-head{margin-bottom:6px !important;}
.nv-console-head h3{font-size:.98rem !important;}
.nv-inventory-box,.nv-minimap-card-inner{padding:2px !important;}
.nv-inventory-grid{gap:6px !important;}
.nv-inventory-grid article{
  padding:6px 7px !important;
  border-radius:10px !important;
  grid-template-columns:22px 1fr auto !important;
  gap:6px !important;
}
.nv-inventory-grid span,
.nv-resources-drawer article span:first-child{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:6px;
  background:#1c2c20;
  color:#d7f5dd;
  font-size:.62rem !important;
  font-weight:900;
}
.nv-inventory-grid small{font-size:.72rem !important;}
.nv-inventory-grid strong{font-size:.72rem !important;padding:3px 6px !important;}
.nv-resources-drawer article{
  display:grid;
  grid-template-columns:22px 1fr auto;
  gap:6px;
  align-items:center;
  padding:8px !important;
}
.nv-resources-drawer article strong{justify-self:end;background:#17251b;color:#8df0a5;padding:4px 7px;border-radius:8px;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;}
.nv-resources-drawer article small{font-size:.75rem;}
.nv-room-icon{font-size:.78rem !important;font-weight:900;background:#eaf5e8;padding:4px 8px;border-radius:999px;display:inline-flex;width:auto;}

/* Minimapa reducido e isométrico */
.nv-minimap-card-inner .nv-console-head{align-items:flex-start !important;}
.nv-orchid-minimap{
  margin-top:6px !important;
  padding:7px !important;
  border-width:1px !important;
  border-radius:12px !important;
  gap:4px !important;
  transform:skewX(-24deg) scaleY(.78);
  transform-origin:center top;
}
.nv-mini{
  min-width:12px !important;
  width:12px !important;
  height:12px !important;
  aspect-ratio:auto !important;
  border-radius:2px !important;
}
.nv-minimap-legend{
  gap:8px !important;
  margin-top:8px !important;
  font-size:.66rem !important;
}
.nv-minimap-meta{padding:3px 8px !important;font-size:.72rem !important;}
.nv-mini-door-indicator{transform:skewX(24deg) !important;}

/* Responsive */
@media (max-width:1100px){
  .nv-retro-portal{grid-template-columns:1fr !important;}
  .nv-side-console{grid-template-columns:1fr 1fr;gap:10px !important;}
}
@media (max-width:760px){
  .nv-top{padding:8px 10px !important;}
  .nv-game-head-compact{padding:10px !important;}
  .nv-fab-stack{position:static !important;margin:0 0 6px auto !important;justify-content:flex-end;}
  .nv-retro-toolbar{padding-right:0 !important;}
  .nv-flash-frame{width:100% !important;}
  .nv-orchid-shell{
    --p111-floor-left:18%;
    --p111-floor-top:49%;
    --p111-floor-width:66%;
    --p111-floor-height:31%;
  }
  .nv-grid-avatar{left:calc(18% + (var(--grid-x) + .5) * (66% / 7)) !important;top:calc(49% + (var(--grid-y) + .64) * (31% / 7)) !important;}
  .nv-grid-door-north{top:37.8% !important;height:13.8% !important;}
  .nv-grid-door-south{top:74.9% !important;height:9.0% !important;}
  .nv-grid-door-west{top:59.2% !important;height:14.2% !important;}
  .nv-grid-door-east{top:56.2% !important;height:16.2% !important;}
  .nv-side-console{grid-template-columns:1fr !important;}
  .nv-orchid-minimap{transform:skewX(-20deg) scaleY(.84);}
}

/* === P112 v1.6: habitacion isometrica rediseñada (muros traseros opacos + frontales transparentes),
   rejilla 7x7 real sin recortes (49 casillas via rotate+scaleY), puertas de linea con veta de madera
   (traseras) / contorno transparente (frontales), minimapa isometrico reducido (misma proyeccion que
   la sala) y barra HUD compacta arriba (info + KPIs + minimapa + Panel/Guia) que libera la ventana
   de juego centrada como elemento dominante con marco mas fino === */

/* ---------- ROOM BOX: shared coordinate system ----------
   B (back/top) = 50%,12%   L (left)=11%,46%   R (right)=89%,46%   F (front)=50%,80%
   wall height = 27% (container-relative)
------------------------------------------------------------ */
.nv-orchid-room .nv-room-wall-back{display:none !important;}

.nv-orchid-room .nv-room-wall-west,
.nv-orchid-room .nv-room-wall-east,
.nv-orchid-room .nv-room-wall-front-left,
.nv-orchid-room .nv-room-wall-front-right{
  position:absolute !important;
  inset:0 !important;
  left:0 !important; top:0 !important; right:auto !important; bottom:auto !important;
  width:100% !important; height:100% !important;
  margin:0 !important;
  pointer-events:none;
}

/* back-left wall (opaque, room color) : L -> B -> TopB -> TopL */
.nv-orchid-room .nv-room-wall-west{
  clip-path:polygon(11% 46%, 50% 12%, 50% -15%, 11% 19%) !important;
  background:
    linear-gradient(125deg,rgba(255,255,255,.14),transparent 40%),
    linear-gradient(200deg,var(--room-wall-main,#4b6b58),var(--room-wall-dark,#243229)) !important;
  opacity:1 !important;
  box-shadow:none !important;
}
/* back-right wall (opaque, room color) : B -> R -> TopR -> TopB */
.nv-orchid-room .nv-room-wall-east{
  clip-path:polygon(50% 12%, 89% 46%, 89% 19%, 50% -15%) !important;
  background:
    linear-gradient(235deg,rgba(255,255,255,.14),transparent 40%),
    linear-gradient(200deg,var(--room-wall-side,#648772),var(--room-wall-side-dark,#2f4136)) !important;
  opacity:1 !important;
  box-shadow:none !important;
}
/* front-left wall (transparent) : L -> F -> TopF -> TopL */
.nv-orchid-room .nv-room-wall-front-left{
  clip-path:polygon(11% 46%, 50% 80%, 50% 53%, 11% 19%) !important;
  background:none !important;
  border:0 !important;
  opacity:1 !important;
  z-index:4;
}
/* front-right wall (transparent) : F -> R -> TopR -> TopF */
.nv-orchid-room .nv-room-wall-front-right{
  clip-path:polygon(50% 80%, 89% 46%, 89% 19%, 50% 53%) !important;
  background:none !important;
  border:0 !important;
  opacity:1 !important;
  z-index:4;
}

.nv-orchid-room .nv-floor{
  left:0 !important; top:0 !important; right:auto !important; bottom:auto !important;
  width:100% !important; height:100% !important;
  clip-path:polygon(11% 46%, 50% 12%, 89% 46%, 50% 80%) !important;
  background:linear-gradient(180deg,#16261b 0%, #0c1812 55%, #070d0a 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  z-index:1 !important;
}

/* full 7x7 grid via rotate+scaleY so all 49 cells stay visible (no clipping)
   PCLA-002 fix: scaleY corrected from .5 to .6538 (and width from 55.5% to 55.154%)
   so the grid diamond exactly matches the floor/wall diamond (11,46 / 50,12 / 89,46 / 50,80) */
.nv-orchid-room .nv-tile-grid{
  left:50% !important; top:46% !important;
  width:55.154% !important; height:auto !important;
  aspect-ratio:1/1 !important;
  right:auto !important; bottom:auto !important;
  display:grid !important;
  grid-template-columns:repeat(7,1fr) !important;
  grid-template-rows:repeat(7,1fr) !important;
  gap:0 !important;
  transform:translate(-50%,-50%) scaleY(.65385) rotate(45deg) !important;
  transform-origin:center center !important;
  clip-path:none !important;
  background:none !important;
  opacity:1 !important;
  z-index:2 !important;
}
.nv-orchid-room .nv-tile-grid span{
  display:block !important;
  border:1px solid color-mix(in srgb, var(--room-wall-main, #4b6b58) 65%, transparent) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.05)) !important;
  box-shadow:none !important;
}

.nv-room-contour{
  position:absolute; inset:0; width:100%; height:100%;
  z-index:5; pointer-events:none; overflow:visible;
}
.nv-room-contour polyline{
  stroke:rgba(230,255,225,.5);
  stroke-width:1.5px;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
}
.nv-room-contour .nv-room-contour-soft{
  stroke:rgba(8,14,10,.42);
  stroke-width:1.2px;
}
.nv-room-contour .nv-room-contour-glass{
  stroke:rgba(210,240,220,.28);
  stroke-width:1px;
  stroke-dasharray:3 3;
}
.nv-room-contour .nv-room-cut{
  vector-effect:non-scaling-stroke;
  stroke:rgba(82,63,39,.34);
  stroke-width:1px;
  stroke-linejoin:round;
}
.nv-room-contour .nv-room-cut-top-west{
  fill:url(#nv-pattern-bricks-top-left) !important;
}
.nv-room-contour .nv-room-cut-side-west{
  fill:url(#nv-pattern-bricks-left) !important;
}
.nv-room-contour .nv-room-cut-top-east{
  fill:url(#nv-pattern-bricks-top-right) !important;
}
.nv-room-contour .nv-room-cut-side-east{
  fill:url(#nv-pattern-bricks-right) !important;
}
.nv-room-contour .nv-room-cut-base-west{
  fill:url(#nv-pattern-concrete-left) !important;
}
.nv-room-contour .nv-room-cut-base-east{
  fill:url(#nv-pattern-concrete-right) !important;
}

/* contour is now drawn by the SVG overlay (.nv-room-contour) */
.nv-orchid-room .nv-room-wall-west,
.nv-orchid-room .nv-room-wall-east,
.nv-orchid-room .nv-room-wall-front-left,
.nv-orchid-room .nv-room-wall-front-right{
  border:0 !important;
}

/* ---------- DOORS: line-art frame + wood grain (back) / transparent (front) ----------
   The outer container stays axis-aligned (so the label stays readable);
   only .door-frame is sheared to follow the wall's slope. */
.nv-grid-door{z-index:6 !important;}
.nv-grid-door button{overflow:visible !important;}
.nv-grid-door .door-frame{
  inset:6% !important;
  border:2px solid rgba(20,12,6,.85) !important;
  border-radius:1px !important;
  box-shadow:none !important;
  transform-origin:center center !important;
}
/* back doors (norte = back-right wall, oeste = back-left wall): wood grain line texture */
.nv-grid-door-north .door-frame,
.nv-grid-door-west .door-frame{
  background:
    repeating-linear-gradient(90deg, rgba(255,237,210,.18) 0 2px, transparent 2px 10px),
    linear-gradient(180deg,#9a7950 0%,#5c4126 100%) !important;
}
.nv-grid-door-north .door-frame::before,
.nv-grid-door-west .door-frame::before{
  content:"";
  position:absolute; left:50%; top:8%; bottom:8%; width:1px;
  background:rgba(20,12,6,.5);
}
.nv-grid-door-north .door-frame::after,
.nv-grid-door-west .door-frame::after{content:none !important;}
/* front doors (sur = front-left wall, este = front-right wall): outline only, see-through */
.nv-grid-door-south .door-frame,
.nv-grid-door-east .door-frame{
  background:rgba(180,225,195,.07) !important;
  border-color:rgba(220,245,228,.7) !important;
  border-width:2px !important;
}
.nv-grid-door-south .door-frame::before,
.nv-grid-door-south .door-frame::after,
.nv-grid-door-east .door-frame::before,
.nv-grid-door-east .door-frame::after{content:none !important;}

.nv-grid-door-west .door-frame{transform:skewY(-24deg) !important;}
.nv-grid-door-north .door-frame{transform:skewY(24deg) !important;}
.nv-grid-door-south .door-frame{transform:skewY(24deg) !important;}
.nv-grid-door-east .door-frame{transform:skewY(-24deg) !important;}

.door-light{width:8px !important;height:8px !important;right:9px !important;top:14% !important;transform:none !important;}
.nv-grid-door .door-label{
  bottom:-19px !important;
  font-size:.62rem !important;
  padding:2px 7px !important;
  white-space:nowrap;
}

/* positions: door = midpoint of its wall edge */
.nv-grid-door-west{
  left:25% !important; top:20% !important;
  width:10% !important; height:17% !important;
  bottom:auto !important; right:auto !important;
  transform:none !important;
}
.nv-grid-door-north{
  left:65% !important; top:20% !important;
  width:10% !important; height:17% !important;
  bottom:auto !important; right:auto !important;
  transform:none !important;
}
.nv-grid-door-south{
  left:25% !important; top:54% !important;
  width:10% !important; height:17% !important;
  bottom:auto !important; right:auto !important;
  transform:none !important;
}
.nv-grid-door-east{
  left:65% !important; top:54% !important;
  width:10% !important; height:17% !important;
  bottom:auto !important; right:auto !important;
  transform:none !important;
}
.nv-grid-door-west button,
.nv-grid-door-north button,
.nv-grid-door-south button,
.nv-grid-door-east button{transform:none !important;}

/* Avatar position recomputed analytically for the rotate(45)+scaleY(.65385) floor grid
   PCLA-002 fix: coefficients corrected to match the real floor diamond (k was wrongly .5, now .65385)
   (floor center 50%,46% · half-side 55.154%w · room aspect 4:3) */
.nv-grid-avatar{
  left:calc(50% + 5.5714% * var(--grid-x, 3) - 5.5714% * var(--grid-y, 3)) !important;
  top:calc(16.8571% + 4.8571% * var(--grid-x, 3) + 4.8571% * var(--grid-y, 3)) !important;
  transform:translate(-50%,-82%) !important;
  z-index:8 !important;
}

/* ---------- MINIMAP: same isometric technique (scaleY + rotate45) as the room, much smaller ---------- */
.nv-minimap-card-inner{padding:0 !important;}
.nv-minimap-card-inner .nv-console-head{margin-bottom:4px !important;}
.nv-orchid-minimap{
  background:none !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  width:62px !important;
  aspect-ratio:1/1 !important;
  display:grid !important;
  grid-auto-rows:1fr !important;
  gap:0 !important;
  transform:scaleY(.65385) rotate(45deg) !important;
  transform-origin:center center !important;
}
.nv-mini{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
  border:.5px solid rgba(255,255,255,.10) !important;
}
.nv-mini-door-indicator{display:none !important;}
.nv-mini-current{
  box-shadow:0 0 0 2px rgba(250,255,152,.9), 0 0 6px 2px rgba(250,255,152,.5) !important;
  z-index:2;
  position:relative;
}
.nv-minimap-legend{
  gap:6px !important;
  margin-top:4px !important;
  font-size:.6rem !important;
  justify-content:center;
}
.nv-legend-swatch{width:9px !important;height:9px !important;}

/* ---------- HUD BAR: info + KPIs + minimap + Panel/Guía, all compact and on top ---------- */
.nv-retro-portal{display:block !important;}
.nv-hud-bar{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap;
  background:linear-gradient(180deg,#eaeaea,#d2d2d2) !important;
  border:1px solid #888 !important;
  border-radius:14px !important;
  padding:8px 12px !important;
  margin-bottom:8px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(0,0,0,.14) !important;
}
.nv-hud-info{min-width:0; flex:1 1 160px;}
.nv-hud-kicker{margin:0; font-size:.62rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:#4a6a52;}
.nv-hud-title{
  margin:0; font-size:.98rem; color:#17251b;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nv-hud-meta{margin:1px 0 0; font-size:.68rem; font-weight:700; color:#475a4d; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.nv-hud-kpis{display:flex; gap:4px; flex-wrap:wrap; flex:0 1 auto;}
.nv-kpi{
  display:inline-flex; align-items:center; gap:4px;
  background:#17251b; color:#cdeccf;
  border-radius:999px; padding:3px 8px 3px 4px;
  font-size:.68rem; font-weight:800; white-space:nowrap;
}
.nv-kpi b{
  background:#2f4d36; color:#a9f3b4;
  border-radius:999px; width:18px; height:18px;
  display:inline-grid; place-items:center;
  font-size:.56rem;
}
.nv-hud-minimap{position:relative; flex:0 0 auto; line-height:0; display:flex; align-items:center; gap:6px;}
.nv-hud-minimap .nv-orchid-minimap{margin:0 !important;}
.nv-hud-minimap-meta{
  background:#17251b; color:#8df0a5;
  font-size:.62rem; font-weight:900;
  padding:3px 6px; border-radius:999px;
  line-height:1.4;
  white-space:nowrap;
}
.nv-hud-actions{display:flex; gap:6px; flex:0 0 auto;}
.nv-hud-actions .nv-fab{
  min-width:auto !important; padding:7px 12px !important;
  border-radius:10px !important; font-size:.78rem !important;
}

/* === PCLA-002: barra superior unificada + textos reducidos + flash compacto === */

/* nav superior aun mas fino */
.nv-top{padding:6px 12px !important; min-height:auto !important;}
.nv-brand a{font-size:.92rem !important;}
.nv-brand span{font-size:.64rem !important; padding:2px 6px !important;}
.nv-nav a{padding:4px 8px !important; font-size:.74rem !important;}

/* flash compacto, una sola linea, se difumina solo */
.nv-flash{
  width:100% !important; max-width:none !important;
  margin:0 !important; padding:5px 14px !important;
  border-radius:0 !important; font-size:.72rem !important;
  font-weight:600 !important; text-align:center !important;
  transition:opacity .6s ease, max-height .6s ease, padding .6s ease;
  max-height:40px; overflow:hidden;
}
.nv-flash.nv-flash-fade{opacity:0 !important; max-height:0 !important; padding-top:0 !important; padding-bottom:0 !important; border-width:0 !important;}

/* el shell del juego pegado justo debajo, sin hueco extra */
.nv-main{padding-top:8px !important;}
.nv-hud-bar{margin-bottom:6px !important; padding:6px 10px !important; gap:10px !important;}
.nv-hud-kicker{font-size:.58rem !important;}
.nv-hud-title{font-size:.88rem !important;}
.nv-hud-meta{font-size:.62rem !important;}
.nv-kpi{font-size:.62rem !important; padding:2px 7px 2px 3px !important;}
.nv-kpi b{width:16px !important; height:16px !important; font-size:.52rem !important;}
.nv-hud-minimap-meta{font-size:.56rem !important; padding:2px 5px !important;}

/* game stage becomes the dominant, full-width element with a thinner frame */
.nv-retro-stage-solo{
  width:100% !important;
  padding:8px !important;
  border-width:1px !important;
}
.nv-retro-stage-solo .nv-flash-frame{
  width:min(100%,1080px) !important;
  border-width:1px !important;
  padding:5px !important;
}
.nv-side-console{display:none !important;}
.nv-fab-stack{display:none !important;}

@media (max-width:760px){
  .nv-hud-bar{padding:7px 9px !important; gap:8px !important;}
  .nv-hud-meta{display:none;}
  .nv-hud-kpis{order:3; flex-basis:100%;}
}

/* === PCLAU-002: puertas ajustadas al rombo real (clip-path exacto por muro) + toast de aviso flotante === */

/* Las 4 puertas pasan a ocupar el 100% de la sala (igual que paredes/suelo) y se recortan
   con un clip-path que es un sub-trapecio EXACTO del muro correspondiente: así su silueta
   sigue siempre la línea real de la cuadrícula/suelo y el plano inclinado de cada pared,
   sin huecos ni superposiciones con el paramento. */
.nv-grid-door{
  position:absolute !important;
  inset:0 !important;
  left:auto !important; top:auto !important; right:auto !important; bottom:auto !important;
  width:100% !important; height:100% !important;
  margin:0 !important;
}
.nv-grid-door button{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  transform:none !important;
}

/* El recorte (clip-path) va en el <button>, no en el contenedor .nv-grid-door: así el
   door-label (hermano del button, fuera de él) no queda recortado y sigue visible,
   mientras el área clicable permanece limitada exactamente a la silueta de la puerta. */
.nv-grid-door-west button{ clip-path:polygon(21.92% 36.48%, 34.4% 25.6%, 34.4% 8.86%, 21.92% 19.74%) !important; }
.nv-grid-door-north button{ clip-path:polygon(60.92% 21.52%, 73.4% 32.4%, 73.4% 15.66%, 60.92% 4.78%) !important; }
.nv-grid-door-south button{ clip-path:polygon(21.92% 55.52%, 34.4% 66.4%, 34.4% 49.66%, 21.92% 38.78%) !important; }
.nv-grid-door-east button{ clip-path:polygon(60.92% 70.48%, 73.4% 59.6%, 73.4% 42.86%, 60.92% 53.74%) !important; }
.nv-grid-door{ z-index:6 !important; }

/* door-frame: ocupa todo el área del botón; el recorte a la silueta de la puerta ya lo
   aplica el propio <button> padre (ver arriba), así que aquí solo se ajusta el tamaño. */
.nv-grid-door .door-frame{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  transform:none !important;
}

/* door-light: punto de estado, anclado a la esquina superior de cada trapecio */
.nv-grid-door .door-light{ left:auto !important; right:auto !important; top:auto !important; transform:none !important; }
.nv-grid-door-west .door-light{ left:33.4% !important; top:8.86% !important; }
.nv-grid-door-north .door-light{ left:72.4% !important; top:15.66% !important; }
.nv-grid-door-south .door-light{ left:33.4% !important; top:49.66% !important; }
.nv-grid-door-east .door-light{ left:72.4% !important; top:42.86% !important; }

/* door-label: posición absoluta (ya no relativa a una caja pequeña), centrada sobre cada puerta.
   Oeste/Norte (traseras) arriba; Sur/Este (frontales) abajo, como hasta ahora. */
.nv-grid-door .door-label{
  position:absolute !important;
  left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;
  transform:translateX(-50%) !important;
}
.nv-grid-door-west .door-label{ left:28.16% !important; top:6.5% !important; }
.nv-grid-door-north .door-label{ left:67.16% !important; top:2.4% !important; }
.nv-grid-door-south .door-label{ left:28.16% !important; top:68.4% !important; }
.nv-grid-door-east .door-label{ left:67.16% !important; top:72.5% !important; }

/* ---------- Mensaje de aviso (flash) dentro de la pantalla de juego: emerge y se desvanece
   como overlay flotante sobre la parte inferior de la habitación, sin desplazar la interfaz ---------- */
.nv-flash-frame{position:relative !important;}
.nv-flash.nv-flash-toast{
  position:absolute !important;
  left:50% !important; right:auto !important; bottom:14px !important; top:auto !important;
  transform:translate(-50%,0) !important;
  width:auto !important; max-width:88% !important;
  margin:0 !important; padding:8px 18px !important;
  border-radius:999px !important;
  z-index:9 !important;
  max-height:none !important; overflow:visible !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35) !important;
  opacity:1 !important;
  transition:opacity .5s ease, transform .5s ease !important;
  animation:nv-toast-in .35s ease both;
}
.nv-flash.nv-flash-toast.nv-flash-fade{
  opacity:0 !important;
  transform:translate(-50%,8px) !important;
  max-height:none !important; padding:8px 18px !important; border-width:1px !important;
}
@keyframes nv-toast-in{
  from{opacity:0; transform:translate(-50%,10px);}
  to{opacity:1; transform:translate(-50%,0);}
}

/* === PCLAU-001: encuadre vertical de la escena + alineación puertas/cuadrícula + etiquetas + KPI emoji === */

/* Desplaza el conjunto (paredes+suelo+contorno+rejilla+puertas+avatar) hacia abajo dentro del marco 4:3,
   evitando que la cima de las paredes traseras quede cortada por arriba y aprovechando el hueco inferior. */
.nv-orchid-room .nv-room-bg,
.nv-orchid-room .nv-room-contour{
  transform:translateY(16.5%) !important;
}

/* Rejilla 7x7 y avatar: mismo sistema de coordenadas que el suelo, se suma el mismo desplazamiento */
.nv-orchid-room .nv-tile-grid{
  top:62.5% !important;
}
.nv-grid-avatar{
  top:calc(33.3571% + 4.8571% * var(--grid-x, 3) + 4.8571% * var(--grid-y, 3)) !important;
}

/* Puertas: el sistema de posicionamiento por top/height fue sustituido en PCLAU-002
   por clip-path exacto sobre el 100% de la sala (ver bloque PCLAU-002 más abajo). */

/* Etiquetas: el posicionamiento de norte/oeste (arriba) y sur/este (abajo) se gestiona
   en el bloque PCLAU-002 más abajo, con coordenadas absolutas sobre el nuevo sistema clip-path. */

/* KPIs: el emoji ya viene en el HTML (game.php); aquí solo se ajusta tamaño del icono */
.nv-kpi b{font-size:.78rem !important;}

/* Mini-mapa: cursor de "ampliar" al pasar por encima (se abre en modal al hacer clic) */
.nv-hud-minimap{cursor:zoom-in;}
.nv-hud-minimap:hover .nv-orchid-minimap{filter:brightness(1.15);}

/* Modal de mini-mapa ampliado */
.nv-minimap-modal{
  position:fixed; inset:0; z-index:9999;
  display:none;
  align-items:center; justify-content:center;
  background:rgba(5,10,7,.82);
  padding:24px;
}
.nv-minimap-modal.is-open{display:flex;}
.nv-minimap-modal-card{
  background:#151515; border:2px solid #6d6d6d; border-radius:16px;
  padding:22px; max-width:min(92vw,520px);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.nv-minimap-modal-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:14px;
}
.nv-minimap-modal-head h3{margin:0; color:#cdeccf; font-size:1rem;}
.nv-minimap-modal-close{
  background:#2f4d36; color:#a9f3b4; border:0; border-radius:8px;
  width:30px; height:30px; font-size:1.1rem; cursor:pointer; line-height:1;
}
.nv-minimap-modal .nv-orchid-minimap{
  width:min(70vw,420px) !important;
  aspect-ratio:1/1 !important;
  transform:scaleY(.65385) rotate(45deg) !important;
}
.nv-minimap-modal-meta{
  margin-top:14px; text-align:center;
  color:#8df0a5; font-size:.78rem; font-weight:900;
}

/* === PCLAU-003: cierre del pico TopB (sin triangulo negro) + puertas ancladas a la cuadricula === */

/* (1) PICO SUPERIOR. PCLAU-001 desplazo .nv-room-bg con translateY(16.5%) para encuadrar
   la escena en 4:3, pero las paredes traseras (west/east) tenian su clip-path con vertice
   TopB en y=-15% del .nv-room-bg, FUERA de su bounding box (0..100%), por lo que ese pico
   no se pintaba y dejaba un triangulo negro arriba.
   Solucion: se extiende el bounding box de ambas paredes hacia arriba (top:-15%; height:115%)
   y se recalculan los clip-paths al nuevo sistema (y_nuevo = (y_room-bg + 15)/115*100).
   Tambien se libera el overflow del .nv-room-bg, que cortaba ese mismo pico. */
.nv-orchid-room .nv-room-bg{
  overflow:visible !important;
}
.nv-orchid-room .nv-room-wall-west{
  top:-15% !important;
  height:115% !important;
  clip-path:polygon(11% 53.04%, 50% 23.48%, 50% 0%, 11% 29.57%) !important;
}
.nv-orchid-room .nv-room-wall-east{
  top:-15% !important;
  height:115% !important;
  clip-path:polygon(50% 23.48%, 89% 53.04%, 89% 29.57%, 50% 0%) !important;
}

/* (2) PUERTAS PEGADAS AL SUELO. PCLAU-001 movio el contenido visual (.nv-room-bg y
   .nv-room-contour) con translateY(16.5%) pero las puertas, que son hijas directas de
   .nv-orchid-room (no de .nv-room-bg) y se posicionan por clip-path absoluto desde
   PCLAU-002, quedaron en el sistema sin desplazar y aparecian flotando sobre el suelo.
   Se aplica el mismo desplazamiento a las 4 puertas para que su silueta coincida con el
   tramo correspondiente del paramento real. */
.nv-grid-door-west,
.nv-grid-door-north,
.nv-grid-door-south,
.nv-grid-door-east{
  transform:translateY(16.5%) !important;
}

/* === PCLAU-002: puertas a 1 casilla de ancho + aspecto realista (tablones, jamba, pomo) === */

/* (1) SILUETA. Cada puerta ocupa exactamente 1 casilla de la cuadricula 7x7 de su pared
   y se centra entre las posiciones 3/7 y 4/7 del lado correspondiente del rombo del suelo.
   Altura vertical = 21% (aprox 78% del muro). Los clip-paths se aplican al <button> y son
   parametrizados en el sistema PRE-PCLAU-001 (el translateY 16.5% lo aporta PCLAU-003). */
.nv-grid-door-west button{ clip-path:polygon(27.714% 31.429%, 33.286% 26.571%, 33.286% 5.571%, 27.714% 10.429%) !important; }
.nv-grid-door-north button{ clip-path:polygon(66.714% 26.571%, 72.286% 31.429%, 72.286% 10.429%, 66.714% 5.571%) !important; }
.nv-grid-door-south button{ clip-path:polygon(27.714% 60.571%, 33.286% 65.429%, 33.286% 44.429%, 27.714% 39.571%) !important; }
.nv-grid-door-east button{ clip-path:polygon(72.286% 60.571%, 66.714% 65.429%, 66.714% 44.429%, 72.286% 39.571%) !important; }

/* (2) POMO (door-light) en el lado interior de cada puerta, a media altura humana. */
.nv-grid-door-west .door-light{ left:31.5% !important; top:17.5% !important; }
.nv-grid-door-north .door-light{ left:68.5% !important; top:17.5% !important; }
.nv-grid-door-south .door-light{ left:31.5% !important; top:53.5% !important; }
.nv-grid-door-east .door-light{ left:68.5% !important; top:53.5% !important; }

/* (3) ETIQUETAS recolocadas sobre el nuevo eje central de cada puerta. */
.nv-grid-door-west .door-label{ left:30.5% !important; top:1% !important; }
.nv-grid-door-north .door-label{ left:69.5% !important; top:1% !important; }
.nv-grid-door-south .door-label{ left:30.5% !important; top:67% !important; }
.nv-grid-door-east .door-label{ left:69.5% !important; top:67% !important; }

/* (4) ASPECTO REALISTA - PUERTAS BACK (west, north): paredes opacas, puerta de madera maciza
   con tablones verticales, jamba oscura, umbral inferior y bisel superior claro. Las lineas
   verticales del mundo real (ranuras entre tablones, jamba) proyectan verticales en isometrica,
   por lo que un gradient 90deg encaja perfecto con la silueta sesgada del clip-path. */
.nv-grid-door-west .door-frame,
.nv-grid-door-north .door-frame{
  background:
    linear-gradient(180deg, transparent 0 88%, rgba(0,0,0,.55) 88% 95%, transparent 95%),
    repeating-linear-gradient(0deg, rgba(20,10,4,.10) 0 1px, transparent 1px 8px),
    linear-gradient(90deg,
      #2a180a 0%, #2a180a 4%,
      #6e4724 5%, #8a5d34 12%, #6e4724 22%,
      #1c0e05 23%, #1c0e05 25%,
      #6e4724 26%, #8a5d34 35%, #6e4724 45%,
      #1c0e05 46%, #1c0e05 48%,
      #6e4724 49%, #8a5d34 60%, #6e4724 71%,
      #1c0e05 72%, #1c0e05 74%,
      #6e4724 75%, #8a5d34 86%, #6e4724 95%,
      #2a180a 96%, #2a180a 100%) !important;
  border:1px solid #14080a !important;
  border-radius:2px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,220,170,.18),
    inset 0 -3px 6px rgba(0,0,0,.32) !important;
}

/* (5) PUERTAS FRONT (south, east): se mantienen translucidas para no tapar la cuadricula del
   suelo, pero ahora con marco mas definido sugiriendo puerta acristalada de invernadero. */
.nv-grid-door-south .door-frame,
.nv-grid-door-east .door-frame{
  background:
    linear-gradient(180deg, rgba(180,225,195,.12), rgba(180,225,195,.04)) !important;
  border:1.5px solid rgba(220,245,228,.78) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10) !important;
}

/* (6) HERRAJES. La door-light pasa de "punto LED" a manilla metalica dorada con reflejo.
   El indicador de estado (sala vecina / muro) se traslada al halo box-shadow, asi el pomo
   se ve siempre como herraje real independientemente de si la puerta esta abierta o ciega. */
.nv-grid-door .door-light{
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:radial-gradient(circle at 30% 30%, #ffe48b, #b07a18 70%, #6b4505 100%) !important;
  border:1px solid #2a1a0c !important;
  box-shadow:0 1px 2px rgba(0,0,0,.55) !important;
}
.nv-grid-door.has-room .door-light,
.nv-grid-door.is-open .door-light,
.nv-grid-door.is-closed.has-room .door-light{
  box-shadow:0 0 0 2px rgba(126,255,141,.55), 0 0 9px rgba(126,255,141,.65), 0 1px 2px rgba(0,0,0,.55) !important;
}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  box-shadow:0 0 0 2px rgba(255,107,94,.55), 0 0 8px rgba(255,107,94,.6), 0 1px 2px rgba(0,0,0,.55) !important;
}

/* (7) SOMBRA EN PLANTA. Reducida para no exceder el nuevo (menor) ancho de la puerta. */
.nv-grid-door::after{
  left:-4% !important;
  right:-4% !important;
  bottom:-3px !important;
  height:8px !important;
}

/* PCLAU-001 procedural map / inventory */
.nv-start-panel{max-width:980px;margin:28px auto;padding:26px}.nv-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.nv-start-card{display:grid;gap:8px;border:1px solid #b6d7b1;border-radius:18px;padding:16px;background:linear-gradient(180deg,#f6fff2,#e7f7de);cursor:pointer}.nv-start-card input{width:auto}.nv-start-card strong{font-size:1.1rem;color:#163d1c}.nv-start-card span{font-weight:900;color:#24532b}.nv-start-grid>.nv-btn{grid-column:1/-1}.nv-inventory-grid-compact{grid-template-columns:1fr}.nv-room-items,.nv-market-grid{display:grid;gap:8px}.nv-room-item-card,.nv-market-card{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid rgba(45,91,52,.22);border-radius:12px;background:linear-gradient(180deg,#f7fff3,#e8f5df);padding:9px;color:#18351d}.nv-room-item-card span,.nv-market-card small{font-weight:800;color:#375d3b}.nv-market-sell{margin-top:10px}.nv-btn-xs{border:1px solid #6c966f;border-radius:999px;background:linear-gradient(180deg,#fff,#dcf2d8);color:#173d1d;font-weight:900;padding:6px 10px;cursor:pointer}.nv-btn-info{background:linear-gradient(180deg,#e2f5ff,#bde8ff);border-color:#6aa6c6;color:#0d3d55}.nv-drawer textarea{width:100%;border:1px solid #9fb99a;border-radius:12px;padding:10px;resize:vertical}.nv-mini-empty{background:#000!important;border-color:#000!important}.nv-mini-hidden{background:#06320f!important}.nv-mini-open{background:#ffd84d!important;box-shadow:inset 0 0 0 1px rgba(80,60,0,.35)}.nv-mini-current{background:#117c99!important;box-shadow:0 0 0 3px rgba(17,124,153,.42)!important}.nv-grid-door.is-locked .door-frame{background:linear-gradient(180deg,#6a4d11,#2d2108)}.nv-grid-door.is-locked .door-light{background:#ffd84d;box-shadow:0 0 12px rgba(255,216,77,.9)}@media (max-width:820px){.nv-start-grid{grid-template-columns:1fr}.nv-room-item-card,.nv-market-card{grid-template-columns:1fr}.nv-room-item-card button,.nv-market-card button{justify-self:start}}

.nv-playfield-layout{
  display:grid;
  grid-template-columns:minmax(240px,320px) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  width:100%;
}
.nv-room-side-panel{
  min-height:100%;
  max-height:calc(100vh - 150px);
  overflow:auto;
  padding:14px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(9,34,24,.94),rgba(7,24,18,.9));
  border:1px solid rgba(142,212,168,.26);
  box-shadow:0 16px 36px rgba(0,0,0,.22);
}
.nv-side-head{margin-bottom:10px}
.nv-side-kicker{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9ee5b3;font-weight:800;margin-bottom:4px}
.nv-side-head h3{margin:0;color:#f0fff4;font-size:1.05rem;line-height:1.15}
.nv-side-head small{display:block;color:#b9d7c3;margin-top:4px;font-weight:700}
.nv-side-description{font-size:.86rem;line-height:1.45;color:#e2f5e7;margin:0 0 12px}
.nv-condition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 12px}
.nv-condition-grid article{padding:8px 6px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);text-align:center}
.nv-condition-grid small{display:block;color:#b8dcc4;font-size:.67rem;text-transform:uppercase;letter-spacing:.04em}
.nv-condition-grid strong{display:block;color:#fff;font-size:.92rem;margin-top:2px}
.nv-side-block{border-top:1px solid rgba(255,255,255,.1);padding-top:11px;margin-top:11px}
.nv-side-block h4{margin:0 0 7px;color:#eaffef;font-size:.92rem}
.nv-side-items,.nv-plant-actions,.nv-crop-list{display:grid;gap:7px}
.nv-side-item-form,.nv-survival-action-form,.nv-plant-form{margin:0}
.nv-side-item-form button,.nv-survival-action-form button,.nv-plant-form button{
  width:100%;
  border:1px solid rgba(174,230,188,.22);
  border-radius:12px;
  padding:8px 9px;
  background:rgba(255,255,255,.08);
  color:#f2fff4;
  text-align:left;
  cursor:pointer;
}
.nv-side-item-form button{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}
.nv-side-item-form b{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:9px;background:#d9f99d;color:#17320b;font-size:.72rem}
.nv-side-item-form span,.nv-survival-action-form strong,.nv-plant-form button{font-weight:800}
.nv-side-item-form small,.nv-survival-action-form small,.nv-plant-form small{color:#c6dfce;font-weight:700}
.nv-survival-box,.nv-greenhouse-box{background:rgba(58,126,84,.12);padding:10px;border-radius:14px;border:1px solid rgba(142,212,168,.16)}
.nv-crop-card{display:grid;gap:4px;padding:9px;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#eaffef}
.nv-crop-card strong{color:#fff;font-size:.9rem}
.nv-crop-card span,.nv-crop-card small{color:#c6dfce;font-size:.76rem}
.nv-crop-card em{font-style:normal;color:#ffd6a5;font-size:.74rem;font-weight:800}
.nv-crop-status-madura{border-color:rgba(132,204,22,.55);box-shadow:inset 0 0 0 1px rgba(132,204,22,.22)}
.nv-crop-status-estresada,.nv-crop-status-deteriorada{border-color:rgba(251,191,36,.48)}
.nv-crop-status-perdida{opacity:.65;filter:grayscale(.25)}
.nv-help-mini textarea{width:100%;resize:vertical;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.2);color:#fff;padding:8px}
.nv-fab-help{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.nv-floor-item{
  position:absolute;
  left:calc(50% + ((var(--grid-x) - 3) * 9.2%));
  top:calc(51% + ((var(--grid-y) - 3) * 5.9%));
  transform:translate(-50%,-50%) rotateX(58deg) rotateZ(45deg);
  z-index:34;
  margin:0;
}
.nv-floor-item button{
  min-width:42px;
  height:34px;
  border:2px solid rgba(255,255,255,.58);
  border-radius:10px;
  background:linear-gradient(145deg,#e7f7cf,#90c76a);
  color:#13310d;
  box-shadow:0 9px 18px rgba(0,0,0,.35),inset 0 0 0 2px rgba(255,255,255,.26);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  font-weight:900;
  transform:rotateZ(-45deg) rotateX(-58deg);
}
.nv-floor-item button:hover{filter:brightness(1.08);transform:rotateZ(-45deg) rotateX(-58deg) translateY(-2px)}
.nv-floor-item span{font-size:.73rem;line-height:1}
.nv-floor-item small{font-size:.58rem;line-height:1;margin-top:2px}
.nv-floor-item-b1 button{background:linear-gradient(145deg,#dcfce7,#86efac)}
.nv-floor-item-b2 button{background:linear-gradient(145deg,#dbeafe,#93c5fd)}
.nv-floor-item-b3 button{background:linear-gradient(145deg,#fef3c7,#fcd34d)}
.nv-floor-item-b4 button{background:linear-gradient(145deg,#ede9fe,#c4b5fd)}
.nv-floor-item-b5 button{background:linear-gradient(145deg,#fce7f3,#f9a8d4)}
.nv-floor-item-b6 button,.nv-floor-item-b7 button{background:linear-gradient(145deg,#fee2e2,#fca5a5)}
.nv-floor-item-b8 button{background:linear-gradient(145deg,#fef9c3,#fde047)}
@media (max-width:980px){
  .nv-playfield-layout{grid-template-columns:1fr}
  .nv-room-side-panel{max-height:none;order:2}
  .nv-retro-stage{order:1}
}
@media (max-width:560px){
  .nv-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nv-room-side-panel{padding:12px}
}

.nv-wallet-line{margin:.35rem 0 0;color:#b8f7c8;font-size:.78rem;font-weight:800;letter-spacing:.02em}
.nv-wallet-live{display:block;margin-top:3px;color:#b8f7c8;font-size:.68rem;font-style:normal;font-weight:800;line-height:1.15}

.nv-live-updated{animation:nv-live-pulse .85s ease-out}
@keyframes nv-live-pulse{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(1.35);transform:scale(1.06)}100%{filter:brightness(1);transform:scale(1)}}
[data-nv-player-stat],.nv-inventory-grid[data-nv-inventory-list]{transition:filter .18s ease,transform .18s ease}

.nv-hud-info{min-width:0}
.nv-hud-meta span[data-nv-player-stat]{font-weight:1000;color:#14381d}
.nv-resources-drawer{grid-template-columns:repeat(2,minmax(0,1fr)) !important;align-items:stretch}
.nv-resources-drawer article{min-height:82px !important;grid-template-columns:26px minmax(0,1fr) auto !important;grid-template-rows:auto auto !important}
.nv-resources-drawer article em{grid-column:1/-1;display:block;min-height:16px;margin-top:4px;color:#60705f;font-size:.68rem;font-style:normal;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.nv-resource-recharge-lines{display:grid;gap:5px;width:100%;padding:10px 12px;border-radius:16px;background:#f7fff3;border:1px solid #cfe7c8;color:#24452a}
.nv-resource-recharge-lines p{margin:0;font-weight:900}
.nv-resource-recharge-lines small{color:#5d715e;font-weight:800;line-height:1.35}
.nv-backpack-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:16px;background:#17251b;color:#dfffe6;border:1px solid rgba(141,240,165,.34)}
.nv-backpack-summary strong{font-family:ui-monospace,Consolas,monospace;color:#8df0a5}
.nv-backpack-summary small{color:#cdebd3;font-weight:800}
.nv-backpack-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.nv-backpack-buttons button{border:1px solid #b9d8b1;border-radius:14px;background:linear-gradient(180deg,#ffffff,#e6f3df);color:#1d3a23;min-height:64px;padding:7px 4px;display:grid;place-items:center;gap:1px;font:inherit;font-weight:900;cursor:default;box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(0,0,0,.10)}
.nv-backpack-buttons button.is-empty{opacity:.55;border-style:dashed;background:#eef5ea;color:#5f705f}
.nv-backpack-buttons span{font-size:1.05rem;line-height:1}
.nv-backpack-buttons strong{font-size:.92rem;line-height:1;font-family:ui-monospace,Consolas,monospace}
.nv-backpack-buttons small{font-size:.58rem;line-height:1;color:#5b6b61;text-transform:uppercase}
.nv-about-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #d5e9ce;color:#194a22;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.nv-about-links a::after{content:"↗";font-weight:1000;color:#31763a}
.nv-room-card-side{padding:12px;background:rgba(255,255,255,.92);border-color:rgba(203,229,196,.65)}
.nv-room-card-side h3{margin:.3em 0;color:#163a20;font-size:.92rem}
.nv-room-card-side p{margin:.35em 0;color:#344b39;font-size:.78rem;line-height:1.35}
.nv-side-room-current,.nv-side-doors{background:rgba(58,126,84,.12);padding:10px;border-radius:14px;border:1px solid rgba(142,212,168,.16)}
.nv-side-doors .nv-door-list{gap:7px}
.nv-side-doors .nv-door{padding:9px 10px;border-radius:12px;font-size:.78rem}
.nv-side-doors .nv-turn-form{margin-top:8px}
.nv-side-items{grid-template-columns:1fr !important}
.nv-side-item-form button{border-color:rgba(141,240,165,.38) !important;background:linear-gradient(180deg,rgba(25,58,35,.92),rgba(10,26,15,.92)) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.20)}
.nv-floor-item{filter:drop-shadow(0 10px 10px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(141,240,165,.35))}
.nv-floor-item button{min-width:44px !important;height:38px !important;border:3px solid rgba(255,255,255,.84) !important;box-shadow:0 12px 24px rgba(0,0,0,.44),0 0 0 3px rgba(17,49,23,.48),inset 0 0 0 2px rgba(255,255,255,.32) !important}
.nv-floor-item span{font-size:.96rem !important;line-height:1 !important}
.nv-floor-item small{font-size:.61rem !important;font-weight:1000 !important;background:rgba(0,0,0,.16);border-radius:999px;padding:0 5px;color:#10220d}
.nv-floor-item-b9 button{background:linear-gradient(145deg,#dbeafe,#60a5fa) !important}
@media (max-width:560px){.nv-backpack-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.nv-backpack-summary{align-items:flex-start;flex-direction:column}.nv-resources-drawer{grid-template-columns:1fr !important}}

.nv-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.nv-btn-xs-muted{background:#eef2e8 !important;color:#37543a !important;border-color:#cfd8c8 !important}

.nv-playfield-layout{grid-template-columns:minmax(235px,310px) minmax(0,1fr) minmax(220px,280px) !important;align-items:start !important}
.nv-retro-stage-solo{min-width:0}
.nv-backpack-side-panel{min-height:100%;max-height:calc(100vh - 150px);overflow:auto;padding:14px;border-radius:20px;background:linear-gradient(180deg,rgba(21,37,27,.95),rgba(10,22,14,.92));border:1px solid rgba(141,240,165,.28);box-shadow:0 16px 36px rgba(0,0,0,.22);display:grid;gap:10px;align-content:start}
.nv-backpack-summary-side{position:sticky;top:0;z-index:2}
.nv-backpack-buttons-side{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:6px !important}
.nv-backpack-buttons button{cursor:pointer !important}
.nv-backpack-buttons button.is-selected{outline:3px solid rgba(141,240,165,.7);box-shadow:inset 0 1px 0 #fff,0 0 0 3px rgba(20,92,43,.35),0 12px 22px rgba(0,0,0,.18);transform:translateY(-1px)}
.nv-backpack-buttons button.is-empty{cursor:not-allowed !important}
.nv-backpack-items-head{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#eaffef;border-top:1px solid rgba(255,255,255,.12);padding-top:10px;margin-top:2px}
.nv-backpack-items-head strong{font-size:.9rem}.nv-backpack-items-head small{color:#b8f7c8;font-weight:900}
.nv-backpack-items{display:grid;gap:8px;min-height:110px}
.nv-backpack-items article{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:13px;background:linear-gradient(180deg,#f7fff3,#e0f0d9);border:1px solid rgba(180,215,172,.7);color:#1c3821;box-shadow:inset 0 1px 0 #fff}
.nv-backpack-items article span{font-size:1.15rem}.nv-backpack-items article small{font-weight:900;line-height:1.15}.nv-backpack-items article strong{background:#17251b;color:#8df0a5;padding:4px 8px;border-radius:999px;font-family:ui-monospace,Consolas,monospace;font-size:.78rem}.nv-backpack-items .nv-muted{margin:0;padding:12px;border-radius:13px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.18);color:#d4ebd9;font-weight:800}
.nv-action-info{display:grid;gap:3px;margin:10px 0 7px;padding:9px 10px;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:#eaffef}
.nv-action-info strong{font-size:.82rem;color:#b8f7c8}.nv-action-info span{font-size:.76rem;line-height:1.35;color:#dcefe1;font-weight:700}
.nv-side-doors .nv-actions-stack{margin:0 0 8px}.nv-side-doors .nv-turn-form{margin-top:0 !important}
.nv-about-reset{margin-top:auto;border-top:1px solid rgba(0,0,0,.12)}
@media (max-width:1280px){.nv-playfield-layout{grid-template-columns:minmax(230px,300px) minmax(0,1fr) !important}.nv-backpack-side-panel{grid-column:1/-1;max-height:none;min-height:0;order:3}.nv-backpack-buttons-side{grid-template-columns:repeat(5,minmax(74px,1fr)) !important}.nv-backpack-items{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.nv-room-side-panel{order:1}.nv-retro-stage{order:2}}
@media (max-width:980px){.nv-playfield-layout{grid-template-columns:1fr !important}.nv-backpack-side-panel{order:3}.nv-room-side-panel{order:2}.nv-retro-stage{order:1}}
@media (max-width:560px){.nv-backpack-buttons-side{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.nv-backpack-items{grid-template-columns:1fr}}

.nv-orchid-room .nv-floor-item{
  left:calc(var(--grid-left) + (var(--grid-x) + .5) * (var(--grid-width) / 7)) !important;
  top:calc(var(--grid-top) + (var(--grid-y) + .58) * (var(--grid-height) / 7)) !important;
  transform:translate(-50%,-86%) !important;
  z-index:36 !important;
  filter:drop-shadow(0 14px 12px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(141,240,165,.32)) !important;
}
.nv-orchid-room .nv-floor-item button{
  min-width:52px !important;
  width:52px !important;
  height:52px !important;
  padding:4px 5px !important;
  border-radius:16px !important;
  transform:none !important;
  gap:2px !important;
  background:linear-gradient(180deg,#f7ffe9,#a9db7d) !important;
  border:3px solid rgba(255,255,255,.9) !important;
  box-shadow:0 12px 24px rgba(0,0,0,.46),0 0 0 4px rgba(13,39,19,.46),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -10px 18px rgba(36,90,31,.18) !important;
}
.nv-orchid-room .nv-floor-item button:hover{
  transform:translateY(-4px) scale(1.04) !important;
  filter:brightness(1.08) saturate(1.06) !important;
}
.nv-orchid-room .nv-floor-item span{
  display:block !important;
  font-size:1.22rem !important;
  line-height:1 !important;
  min-height:21px !important;
}
.nv-orchid-room .nv-floor-item small{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:24px !important;
  min-height:15px !important;
  padding:1px 7px !important;
  font-size:.62rem !important;
  line-height:1 !important;
  font-weight:1000 !important;
  border-radius:999px !important;
  color:#10220d !important;
  background:rgba(255,255,255,.66) !important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08) !important;
}
.nv-orchid-room .nv-floor-item-b1 button{background:linear-gradient(180deg,#ecfdf5,#86efac) !important}
.nv-orchid-room .nv-floor-item-b2 button{background:linear-gradient(180deg,#eff6ff,#93c5fd) !important}
.nv-orchid-room .nv-floor-item-b3 button{background:linear-gradient(180deg,#fff7ed,#fcd34d) !important}
.nv-orchid-room .nv-floor-item-b4 button{background:linear-gradient(180deg,#f5f3ff,#c4b5fd) !important}
.nv-orchid-room .nv-floor-item-b5 button{background:linear-gradient(180deg,#fdf2f8,#f9a8d4) !important}
.nv-orchid-room .nv-floor-item-b6 button,.nv-orchid-room .nv-floor-item-b7 button{background:linear-gradient(180deg,#fef2f2,#fca5a5) !important}
.nv-orchid-room .nv-floor-item-b8 button{background:linear-gradient(180deg,#fefce8,#fde047) !important}
.nv-orchid-room .nv-floor-item-b9 button{background:linear-gradient(180deg,#eff6ff,#60a5fa) !important}

/* === PCLAU_006 · ajuste fino objetos y decorado de prueba en habitación activa de alcalde_verde === */
.nv-orchid-room .nv-floor-item{
  top:calc(var(--grid-top) + (var(--grid-y) + .66) * (var(--grid-height) / 7)) !important;
  transform:translate(-50%,-76%) !important;
  z-index:36 !important;
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.30)) !important;
}
.nv-orchid-room .nv-floor-item::after{
  content:"";
  position:absolute;
  left:50%;
  top:100%;
  width:36px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.34) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,0) 78%);
  transform:translate(-50%,-6px) rotate(-12deg) scaleX(1.06);
  pointer-events:none;
  z-index:-1;
}
.nv-orchid-room .nv-floor-item button{
  min-width:46px !important;
  width:46px !important;
  height:46px !important;
  padding:3px 4px !important;
  border-radius:14px !important;
  box-shadow:0 8px 14px rgba(0,0,0,.28),0 0 0 3px rgba(13,39,19,.36),inset 0 1px 0 rgba(255,255,255,.78),inset 0 -8px 14px rgba(36,90,31,.14) !important;
}
.nv-orchid-room .nv-floor-item button:hover{
  transform:translateY(-2px) scale(1.03) !important;
}
.nv-orchid-room .nv-floor-item span{
  font-size:1.08rem !important;
  min-height:18px !important;
}
.nv-orchid-room .nv-floor-item small{
  min-width:22px !important;
  min-height:14px !important;
  padding:1px 6px !important;
  font-size:.58rem !important;
}

.nv-scene-decor{position:absolute;inset:0;pointer-events:none;z-index:4}
.nv-scene-decor > div,.nv-scene-decor > span{position:absolute}
.nv-decor-wall-frame{
  width:8.5%;height:12.5%;top:19%;
  background:linear-gradient(180deg,#876744,#5f4329);
  border:2px solid rgba(31,21,14,.85);
  box-shadow:0 6px 10px rgba(0,0,0,.18), inset 0 0 0 2px rgba(255,246,227,.22);
  border-radius:4px;display:flex;align-items:center;justify-content:center;
}
.nv-decor-wall-frame span{font-size:1.2rem;filter:drop-shadow(0 2px 1px rgba(0,0,0,.18))}
.nv-decor-wall-frame-left{left:26%;transform:skewY(12deg)}
.nv-decor-wall-frame-right{right:26%;transform:skewY(-12deg)}
.nv-decor-ceiling-lamp{
  left:50%;top:7%;width:1.1%;height:18%;transform:translateX(-50%);
  background:linear-gradient(180deg,#cbd5db,#6b7379);border-radius:999px;
}
.nv-decor-ceiling-lamp::before{
  content:"";position:absolute;left:50%;top:82%;transform:translateX(-50%);
  width:46px;height:16px;border-radius:50% 50% 60% 60%;
  background:linear-gradient(180deg,#d9dee2,#7f888f);border:2px solid rgba(53,59,64,.75);
}
.nv-decor-ceiling-lamp::after{
  content:"";position:absolute;left:50%;top:88%;transform:translateX(-50%);
  width:260px;height:170px;
  background:radial-gradient(ellipse at center,rgba(245,255,178,.24) 0%,rgba(245,255,178,.10) 36%,rgba(245,255,178,0) 72%);
}
.nv-decor-ac-unit{
  right:16%;top:18%;width:16%;height:7%;
  background:linear-gradient(180deg,#eef4f8,#b8c5cf);border:2px solid rgba(66,77,86,.7);
  border-radius:10px 10px 8px 8px;box-shadow:0 6px 10px rgba(0,0,0,.18);
  transform:skewY(-14deg);
}
.nv-decor-ac-unit::before{
  content:"";position:absolute;left:10%;right:10%;bottom:18%;height:24%;
  background:repeating-linear-gradient(90deg,rgba(75,93,108,.92) 0 7%,transparent 7% 11%);
  border-radius:4px;
}
.nv-decor-heater{
  left:17%;bottom:30%;width:13%;height:8%;
  background:linear-gradient(180deg,#f6efe5,#d2c6b8);border:2px solid rgba(97,82,63,.72);
  border-radius:8px;transform:skewY(12deg);
  box-shadow:0 6px 10px rgba(0,0,0,.14);
}
.nv-decor-heater::before{
  content:"";position:absolute;left:10%;right:10%;top:22%;height:42%;
  background:repeating-linear-gradient(90deg,rgba(122,108,92,.95) 0 9%,transparent 9% 14%);
}
.nv-decor-shelf{
  width:15%;height:20%;bottom:30%;
  background:linear-gradient(180deg,#7d5d3d,#5f432b);
  border:2px solid rgba(51,35,21,.82);
  box-shadow:0 10px 12px rgba(0,0,0,.16);
}
.nv-decor-shelf::before,.nv-decor-shelf::after{
  content:"";position:absolute;left:8%;right:8%;height:6px;background:#4d3522;border-radius:999px;
}
.nv-decor-shelf::before{top:34%}
.nv-decor-shelf::after{top:66%}
.nv-decor-shelf-left{left:21%;transform:skewY(12deg)}
.nv-decor-shelf-right{right:21%;transform:skewY(-12deg)}
.nv-decor-shelf .shelf-box,.nv-decor-shelf .shelf-pot{position:absolute;display:block}
.nv-decor-shelf .shelf-box{
  width:20%;height:14%;background:linear-gradient(180deg,#e4d1a9,#b88f4d);
  border:2px solid rgba(92,65,29,.82);border-radius:3px;
}
.nv-decor-shelf .shelf-box.small{width:16%;height:12%;background:linear-gradient(180deg,#d4c8b0,#a28f6b)}
.nv-decor-shelf .shelf-pot{
  width:19%;height:16%;background:linear-gradient(180deg,#99684a,#72482e);
  border:2px solid rgba(72,43,27,.82);border-radius:4px 4px 9px 9px;
}
.nv-decor-shelf .shelf-pot::before{
  content:"🌱";position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-size:15px;
}
.nv-decor-shelf-left .shelf-box:nth-child(1){left:13%;top:12%}
.nv-decor-shelf-left .shelf-pot:nth-child(2){left:40%;top:10%}
.nv-decor-shelf-left .shelf-box.small:nth-child(3){right:12%;top:14%}
.nv-decor-shelf-right .shelf-box:nth-child(1){left:13%;top:12%}
.nv-decor-shelf-right .shelf-pot:nth-child(2){left:40%;top:10%}
.nv-decor-shelf-right .shelf-box.small:nth-child(3){right:12%;top:14%}

@media (max-width:980px){
  .nv-decor-ceiling-lamp::after{width:180px;height:120px}
  .nv-decor-wall-frame span{font-size:.95rem}
  .nv-decor-shelf,.nv-decor-ac-unit,.nv-decor-heater{opacity:.92}
}


/* === PCLAU_007 · depuración escala, ángulo y paramentos de fondo === */
.nv-orchid-room .nv-floor-item{
  top:calc(var(--grid-top) + (var(--grid-y) + .70) * (var(--grid-height) / 7)) !important;
  transform:translate(-50%,-66%) rotateZ(-45deg) skewY(0deg) !important;
  transform-origin:center bottom !important;
  z-index:36 !important;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.28)) !important;
}
.nv-orchid-room .nv-floor-item::after{
  width:26px !important;
  height:7px !important;
  top:94% !important;
  transform:translate(-50%,-4px) rotate(45deg) scaleX(1.18) !important;
  opacity:.72 !important;
}
.nv-orchid-room .nv-floor-item button{
  min-width:34px !important;
  width:34px !important;
  height:34px !important;
  padding:2px 3px !important;
  border-radius:9px !important;
  border:2px solid rgba(255,255,255,.82) !important;
  box-shadow:0 5px 8px rgba(0,0,0,.25),0 0 0 2px rgba(13,39,19,.30),inset 0 1px 0 rgba(255,255,255,.70),inset 0 -5px 8px rgba(36,90,31,.12) !important;
  transform:none !important;
}
.nv-orchid-room .nv-floor-item button:hover{
  transform:translateY(-1px) scale(1.03) !important;
}
.nv-orchid-room .nv-floor-item span{
  font-size:.82rem !important;
  min-height:13px !important;
}
.nv-orchid-room .nv-floor-item small{
  min-width:17px !important;
  min-height:10px !important;
  padding:0 4px !important;
  font-size:.48rem !important;
  line-height:1 !important;
}

/* Decoración de prueba: solo paramentos opacos de fondo, nunca centro/puertas */
.nv-scene-decor-test{
  z-index:3 !important;
}
.nv-scene-decor-test .nv-decor-ceiling-lamp,
.nv-scene-decor-test .nv-decor-heater{
  display:none !important;
}
.nv-scene-decor-test .nv-decor-wall-frame,
.nv-scene-decor-test .nv-decor-ac-unit,
.nv-scene-decor-test .nv-decor-shelf{
  transform-origin:center center !important;
  pointer-events:none !important;
}

/* Pared opaca izquierda del fondo: elementos pequeños, a los lados de la puerta */
.nv-scene-decor-test .nv-decor-wall-frame-left{
  left:25.5% !important;
  top:21.5% !important;
  width:5.6% !important;
  height:8.2% !important;
  transform:skewY(28deg) rotateZ(-1deg) !important;
  z-index:3 !important;
}
.nv-scene-decor-test .nv-decor-shelf-left{
  left:18.8% !important;
  bottom:auto !important;
  top:34.5% !important;
  width:8.8% !important;
  height:12.2% !important;
  transform:skewY(28deg) rotateZ(-1deg) !important;
  z-index:3 !important;
}

/* Pared opaca derecha del fondo: elementos pequeños, a los lados de la puerta */
.nv-scene-decor-test .nv-decor-wall-frame-right{
  right:25.5% !important;
  top:21.5% !important;
  width:5.6% !important;
  height:8.2% !important;
  transform:skewY(-28deg) rotateZ(1deg) !important;
  z-index:3 !important;
}
.nv-scene-decor-test .nv-decor-shelf-right{
  right:18.8% !important;
  bottom:auto !important;
  top:34.5% !important;
  width:8.8% !important;
  height:12.2% !important;
  transform:skewY(-28deg) rotateZ(1deg) !important;
  z-index:3 !important;
}
.nv-scene-decor-test .nv-decor-ac-unit{
  right:32.2% !important;
  top:33.5% !important;
  width:9.4% !important;
  height:4.6% !important;
  transform:skewY(-28deg) rotateZ(1deg) !important;
  z-index:3 !important;
}

/* Escala interna reducida para que no compita con EcoMuñ */
.nv-scene-decor-test .nv-decor-wall-frame span{
  font-size:.72rem !important;
}
.nv-scene-decor-test .nv-decor-shelf::before,
.nv-scene-decor-test .nv-decor-shelf::after{
  height:3px !important;
}
.nv-scene-decor-test .nv-decor-shelf .shelf-box{
  border-width:1px !important;
}
.nv-scene-decor-test .nv-decor-shelf .shelf-pot{
  border-width:1px !important;
}
.nv-scene-decor-test .nv-decor-shelf .shelf-pot::before{
  top:-10px !important;
  font-size:10px !important;
}
.nv-scene-decor-test .nv-decor-ac-unit{
  border-width:1px !important;
  border-radius:5px !important;
}

/* Puertas por encima de la decoración para evitar ocupación visual */
.nv-orchid-room .nv-grid-door{
  z-index:8 !important;
}
.nv-orchid-room .nv-grid-avatar{
  z-index:12 !important;
}


/* === PCLAU_008 · anclaje real de objetos al suelo y paredes === */
/* Suelo: bajar el conjunto y reducir sombra para que apoye en la casilla */
.nv-orchid-room .nv-floor-item{
  top:calc(var(--grid-top) + (var(--grid-y) + .78) * (var(--grid-height) / 7)) !important;
  transform:translate(-50%,-52%) rotateZ(-45deg) !important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.18)) !important;
}
.nv-orchid-room .nv-floor-item::after{
  width:22px !important;
  height:6px !important;
  top:98% !important;
  transform:translate(-50%,-1px) rotate(45deg) scaleX(1.24) !important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.28) 0%,rgba(0,0,0,.12) 56%,rgba(0,0,0,0) 78%) !important;
  opacity:.92 !important;
}
.nv-orchid-room .nv-floor-item button{
  min-width:30px !important;
  width:30px !important;
  height:30px !important;
  padding:1px 2px !important;
  border-radius:8px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.16),0 0 0 2px rgba(13,39,19,.22),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -4px 6px rgba(36,90,31,.10) !important;
}
.nv-orchid-room .nv-floor-item span{
  font-size:.72rem !important;
  min-height:11px !important;
}
.nv-orchid-room .nv-floor-item small{
  min-width:15px !important;
  min-height:9px !important;
  padding:0 3px !important;
  font-size:.43rem !important;
}

/* Paredes: acercar y apoyar los elementos sobre los paramentos opacos */
.nv-scene-decor-test .nv-decor-wall-frame-left{
  left:23.8% !important;
  top:22.8% !important;
  transform:skewY(28deg) rotateZ(-1deg) translateZ(0) !important;
}
.nv-scene-decor-test .nv-decor-shelf-left{
  left:17.4% !important;
  top:36.8% !important;
  width:8.2% !important;
  height:11.4% !important;
  transform:skewY(28deg) rotateZ(-1deg) !important;
  box-shadow:0 3px 5px rgba(0,0,0,.12) !important;
}
.nv-scene-decor-test .nv-decor-wall-frame-right{
  right:23.8% !important;
  top:22.8% !important;
  transform:skewY(-28deg) rotateZ(1deg) translateZ(0) !important;
}
.nv-scene-decor-test .nv-decor-shelf-right{
  right:17.4% !important;
  top:36.8% !important;
  width:8.2% !important;
  height:11.4% !important;
  transform:skewY(-28deg) rotateZ(1deg) !important;
  box-shadow:0 3px 5px rgba(0,0,0,.12) !important;
}
.nv-scene-decor-test .nv-decor-ac-unit{
  right:30.8% !important;
  top:34.8% !important;
  width:8.6% !important;
  height:4.2% !important;
  transform:skewY(-28deg) rotateZ(1deg) !important;
  box-shadow:0 3px 5px rgba(0,0,0,.12) !important;
}

/* Ligero ajuste visual para que parezcan fijados al plano de pared */
.nv-scene-decor-test .nv-decor-wall-frame,
.nv-scene-decor-test .nv-decor-shelf,
.nv-scene-decor-test .nv-decor-ac-unit{
  filter:saturate(.95) !important;
}

/* ===================================================================
   PCLAU_010 · Reubicación y asentado de objetos sobre las paredes
   (sustituye la colocación de PCLAU_009 para la sala almacén 61)
   Alcance estricto:
     · Pared : .nv-scene-decor-test  (gated por $showRoomDecorTest)
     · Suelo : .nv-orchid-room.nv-room-decor-test .nv-floor-item
   Geometría: inclinación igualada a las aristas del rombo del suelo
              (grid scaleY(.65385) rotate(45deg) => atan(.65385)=33.18 deg).
              OESTE skewY(-33deg) ; ESTE skewY(33deg).
   z-index:6 -> los objetos quedan SOBRE el paño (no detrás).
   No altera HTML salvo el alta de .nv-decor-window-left, ni la lógica.
=================================================================== */
.nv-scene-decor-test{--wall-edge:#2c1d11;--wall-edge-soft:#3c2817;--wall-top:rgba(255,238,210,.5)}
.nv-scene-decor-test .nv-decor-wall-frame,
.nv-scene-decor-test .nv-decor-shelf,
.nv-scene-decor-test .nv-decor-ac-unit,
.nv-scene-decor-test .nv-decor-window{transform-origin:center center !important;pointer-events:none !important}

/* ---- PARED OESTE (izq): plano sube a la derecha -> skewY negativo ---- */
.nv-orchid-room .nv-scene-decor-test .nv-decor-wall-frame-left{left:13.5% !important;top:32% !important;width:6% !important;height:7.4% !important;transform:skewY(-33deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-window-left{left:23.5% !important;top:23.5% !important;width:9% !important;height:6.2% !important;transform:skewY(-33deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-left{left:13.5% !important;top:49.5% !important;bottom:auto !important;width:10% !important;height:11.5% !important;transform:skewY(-33deg) !important;z-index:6 !important}

/* ---- PARED ESTE (der): plano baja a la derecha -> skewY positivo ---- */
.nv-orchid-room .nv-scene-decor-test .nv-decor-wall-frame-right{right:13.5% !important;top:32% !important;width:6% !important;height:7.4% !important;transform:skewY(33deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:27% !important;top:24.5% !important;width:9.5% !important;height:4.4% !important;transform:skewY(33deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-right{right:13.5% !important;top:49.5% !important;bottom:auto !important;width:10% !important;height:11.5% !important;transform:skewY(33deg) !important;z-index:6 !important}

/* ---- Volumen (caja con grosor + bisel) ---- */
.nv-scene-decor-test .nv-decor-wall-frame{border-radius:5px !important;border:2px solid var(--wall-edge) !important;background:linear-gradient(150deg,rgba(255,242,222,.30),transparent 38%),linear-gradient(180deg,#9a7650 0%,#7a5836 48%,#5a3f25 100%) !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-wall-frame-left{box-shadow:-1px 1px 0 var(--wall-edge),-2px 2px 0 var(--wall-edge),-3px 3px 0 var(--wall-edge-soft),-4px 4px 0 var(--wall-edge-soft),inset 0 2px 0 var(--wall-top),9px 13px 13px rgba(0,0,0,.45) !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-wall-frame-right{box-shadow:1px 1px 0 var(--wall-edge),2px 2px 0 var(--wall-edge),3px 3px 0 var(--wall-edge-soft),4px 4px 0 var(--wall-edge-soft),inset 0 2px 0 var(--wall-top),-9px 13px 13px rgba(0,0,0,.45) !important}
.nv-scene-decor-test .nv-decor-shelf{border-radius:4px !important;border:2px solid var(--wall-edge) !important;background:linear-gradient(150deg,rgba(255,242,222,.22),transparent 40%),linear-gradient(180deg,#86643f 0%,#684a2c 55%,#4d3520 100%) !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-left{box-shadow:-3px -4px 0 var(--wall-edge),-6px -8px 0 var(--wall-edge),-9px -12px 0 var(--wall-edge-soft),-12px -16px 0 var(--wall-edge-soft),-15px -20px 0 var(--wall-edge-soft),-18px -24px 0 var(--wall-edge-soft),inset 0 2px 0 var(--wall-top) !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-right{box-shadow:3px -4px 0 var(--wall-edge),6px -8px 0 var(--wall-edge),9px -12px 0 var(--wall-edge-soft),12px -16px 0 var(--wall-edge-soft),15px -20px 0 var(--wall-edge-soft),18px -24px 0 var(--wall-edge-soft),inset 0 2px 0 var(--wall-top) !important}
.nv-scene-decor-test .nv-decor-shelf::before,
.nv-scene-decor-test .nv-decor-shelf::after{height:4px !important;background:#3a2716 !important;box-shadow:0 1px 0 rgba(255,236,210,.18) !important}
.nv-scene-decor-test .nv-decor-ac-unit{border:2px solid #41525d !important;border-radius:6px 6px 5px 5px !important;background:linear-gradient(160deg,rgba(255,255,255,.55),transparent 42%),linear-gradient(180deg,#f2f7fa 0%,#c7d3db 52%,#9fb0bb 100%) !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{box-shadow:1px 1px 0 #6b7d88,2px 2px 0 #6b7d88,3px 3px 0 #56666f,inset 0 2px 0 rgba(255,255,255,.7),-8px 12px 12px rgba(0,0,0,.40) !important}

/* ---- Ventana (objeto nuevo, pared oeste) ---- */
.nv-scene-decor-test .nv-decor-window{border:2px solid #2c1d11 !important;border-radius:4px !important;background:linear-gradient(160deg,#bfe6ff 0%,#7fb6d6 45%,#4d7d99 100%) !important;overflow:hidden !important}
.nv-scene-decor-test .nv-decor-window::before{content:"" !important;position:absolute !important;inset:0 !important;background:linear-gradient(115deg,rgba(255,255,255,.55) 0 14%,transparent 14% 30%,rgba(255,255,255,.32) 30% 40%,transparent 40%) !important}
.nv-scene-decor-test .nv-decor-window::after{content:"" !important;position:absolute !important;left:48% !important;top:0 !important;bottom:0 !important;width:3px !important;background:#2c1d11 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-window-left{box-shadow:-1px 1px 0 var(--wall-edge),-2px 2px 0 var(--wall-edge),-3px 3px 0 var(--wall-edge-soft),inset 0 2px 0 rgba(255,255,255,.5),9px 13px 13px rgba(0,0,0,.42) !important}

/* ---- Suelo: volumen apoyado + sombra de contacto (heredado de PCLAU_009) ---- */
.nv-orchid-room.nv-room-decor-test .nv-floor-item{top:calc(var(--grid-top) + (var(--grid-y) + .60) * (var(--grid-height) / 7)) !important;transform:translate(-50%,-100%) !important;transform-origin:center bottom !important;filter:none !important;z-index:36 !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item::after{content:"" !important;position:absolute !important;left:50% !important;top:auto !important;bottom:-7px !important;width:30px !important;height:30px !important;transform:translateX(-50%) rotateZ(45deg) scaleY(.62) !important;background:radial-gradient(ellipse at center,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 52%,rgba(0,0,0,0) 76%) !important;opacity:1 !important;z-index:-1 !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item button{min-width:30px !important;width:30px !important;height:34px !important;padding:2px 2px 4px !important;border-radius:9px 9px 11px 11px !important;border:2px solid rgba(13,39,19,.45) !important;transform:none !important;box-shadow:0 3px 0 rgba(0,0,0,.20),0 5px 0 rgba(0,0,0,.12),inset 0 2px 0 rgba(255,255,255,.75),inset 0 -6px 8px rgba(0,0,0,.18) !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item button:hover{transform:translateY(-2px) !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item span{font-size:.82rem !important;min-height:13px !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item small{position:absolute !important;left:50% !important;bottom:-2px !important;transform:translateX(-50%) !important;min-width:16px !important;font-size:.46rem !important}

/* === PCLAU_011 · sala almacén 61 (alcalde_verde): muebles asentados en la arista del rombo, A/A y ventana reubicados, pedestal de suelo · solo .nv-scene-decor-test / .nv-room-decor-test === */
/* OESTE: ventana fuera de la puerta (a su derecha) y algo más baja */
.nv-orchid-room .nv-scene-decor-test .nv-decor-window-left{left:34% !important;top:26% !important;width:9% !important;height:6.2% !important;transform:skewY(-33deg) !important;z-index:6 !important}
/* OESTE: mueble pegado a la pared, base sobre la arista superior del rombo, sin salir de la sala */
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-left{left:16% !important;top:39% !important;bottom:auto !important;width:9.5% !important;height:13% !important;transform:skewY(-33deg) !important;z-index:6 !important}
/* ESTE: mueble simétrico, asentado en la arista, contenido en el paño */
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-right{right:16% !important;top:39% !important;bottom:auto !important;width:9.5% !important;height:13% !important;transform:skewY(33deg) !important;z-index:6 !important}
/* ESTE: split de A/A por encima de la arista superior de la puerta y reducido uniformemente (~0.70) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:32.5% !important;top:19% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}
/* SUELO: pedestal de los objetos algo mayor (base anclada en el mismo punto) */
.nv-orchid-room.nv-room-decor-test .nv-floor-item button{min-width:35px !important;width:35px !important;height:40px !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item::after{width:35px !important;height:35px !important;bottom:-8px !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item span{font-size:.92rem !important}

/* === PCLAU_012 · sala 61: ventana mayor y reubicada, split más arriba/derecha, muebles asentados en la arista (skew real del muro, como las puertas), pedestal de suelo visible alineado a la casilla === */
/* OESTE: ventana al doble de alto y media casilla a la derecha (crece hacia arriba para no invadir el suelo) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-window-left{left:39.5% !important;top:20% !important;width:9% !important;height:12.4% !important;transform:skewY(-33deg) !important;z-index:6 !important}
/* ESTE: split sin cambiar tamaño, subido ~media altura y desplazado a la derecha ~media anchura (tope sin salir del paño) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:29% !important;top:17.5% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}
/* MUEBLES: base asentada en la arista inferior del rombo con la pendiente real del muro (skew ±41°, como el canto de las puertas) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-left{left:16% !important;top:42% !important;bottom:auto !important;width:9.5% !important;height:12% !important;transform:skewY(-41deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-right{right:16% !important;top:42% !important;bottom:auto !important;width:9.5% !important;height:12% !important;transform:skewY(41deg) !important;z-index:6 !important}
/* SUELO: objetos al mismo mapeo isométrico que el avatar (coinciden con su casilla) + pedestal visible en forma de baldosa */
.nv-orchid-room.nv-room-decor-test .nv-floor-item{left:calc(50% + 5.5714% * var(--grid-x, 3) - 5.5714% * var(--grid-y, 3)) !important;top:calc(33.3571% + 4.8571% * var(--grid-x, 3) + 4.8571% * var(--grid-y, 3)) !important;transform:translate(-50%,-100%) !important;transform-origin:center bottom !important;filter:none !important;z-index:36 !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item::after{content:"" !important;position:absolute !important;left:50% !important;top:100% !important;bottom:auto !important;width:68px !important;height:68px !important;transform:translate(-50%,-50%) rotateZ(45deg) scaleY(.62) !important;border-radius:10px !important;border:2px solid rgba(18,40,26,.72) !important;background:linear-gradient(155deg,#7d9d86 0%,#587a63 50%,#3c5947 100%) !important;box-shadow:0 4px 0 rgba(0,0,0,.28),0 9px 11px rgba(0,0,0,.30),inset 0 2px 0 rgba(255,255,255,.30),inset 0 -7px 11px rgba(0,0,0,.25) !important;opacity:1 !important;z-index:-1 !important}

/* === PCLAU_013 · sala 61: ventana +1 casilla arriba, split siguiendo arista superior norte, muebles asentados (skew real ±33° con corrección 4:3, dos esquinas inferiores tocando la arista), pedestal = cilindro vertical bajo el objeto === */
/* OESTE: ventana subida una casilla (≈9,7%) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-window-left{left:39.5% !important;top:10.5% !important;width:9% !important;height:12.4% !important;transform:skewY(-33deg) !important;z-index:6 !important}
/* NORTE: split desplazado a la derecha siguiendo la arista superior del muro (desciende a la derecha) */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:22% !important;top:23% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}
/* MUEBLES: skew ±33° (paralelo real a la arista en 4:3); base asentada sobre el rombo, ambas esquinas inferiores tocan la arista */
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-left{left:16% !important;top:42% !important;bottom:auto !important;width:9.5% !important;height:12% !important;transform:translate(15px,20px) skewY(-33deg) !important;z-index:6 !important}
.nv-orchid-room .nv-scene-decor-test .nv-decor-shelf-right{right:16% !important;top:42% !important;bottom:auto !important;width:9.5% !important;height:12% !important;transform:translate(-15px,20px) skewY(33deg) !important;z-index:6 !important}
/* SUELO: objeto elevado sobre un pequeño cilindro vertical que muere en la casilla (mapeo isométrico = casilla real) */
.nv-orchid-room.nv-room-decor-test .nv-floor-item{left:calc(50% + 5.5714% * var(--grid-x, 3) - 5.5714% * var(--grid-y, 3)) !important;top:calc(33.3571% + 4.8571% * var(--grid-x, 3) + 4.8571% * var(--grid-y, 3)) !important;transform:translate(-50%,-100%) !important;transform-origin:center bottom !important;filter:none !important;z-index:36 !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item button{min-width:32px !important;width:32px !important;height:36px !important;transform:translateY(-22px) !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item button:hover{transform:translateY(-25px) !important}
.nv-orchid-room.nv-room-decor-test .nv-floor-item::after{content:"" !important;position:absolute !important;left:50% !important;top:auto !important;bottom:0 !important;width:18px !important;height:26px !important;transform:translateX(-50%) !important;border-radius:50% / 13% !important;border:1px solid rgba(16,36,24,.78) !important;background:radial-gradient(ellipse 72% 24% at 50% 7%,rgba(255,255,255,.62),rgba(255,255,255,0) 72%),linear-gradient(90deg,#243c2c 0%,#4a6d5c 24%,#79b193 50%,#4a6d5c 76%,#243c2c 100%) !important;box-shadow:0 3px 5px rgba(0,0,0,.42),inset 0 -3px 6px rgba(0,0,0,.32) !important;opacity:1 !important;z-index:-1 !important}

/* === PCLAU_014 · sala 61: split centrado sobre la puerta norte (sin cambiar tamaño/altura/inclinación) === */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:29.5% !important;top:23% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}

/* === PCLAU_015 · sala 61: split centrado en la puerta norte siguiendo la arista superior del muro (top sube con la pendiente; corrige el desplazamiento horizontal de PCLAU_014) === */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:29.5% !important;top:16.5% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}

/* === PCLAU_016 · sala 61: split menos a la izquierda y separado un punto bajo la arista superior norte (mantiene paralelismo con el plano) === */
.nv-orchid-room .nv-scene-decor-test .nv-decor-ac-unit{right:26.7% !important;top:20% !important;width:6.6% !important;height:3.1% !important;transform:skewY(33deg) !important;z-index:6 !important}

/* === PCLAU_019 · sala 61: textura de puerta SOLO en NORTE/OESTE, inclinada al plano del muro;
   SUR/ESTE vuelven a su clic transparente original. Consolida y sustituye a PCLAU_017 y PCLAU_018. ===
   El .door-frame ocupa el 100% de la sala y el <button> recorta el trapecio (clip-path) de cada puerta.
   La imagen (puerta verde) se encuadra en el footprint vertical del trapecio (12.48% x 16.74% de la sala)
   y se inclina con skewY al angulo real del muro (±33.18°, derivado de scaleY .65385) pivotando en el
   vertice del clip: jambas verticales + dintel/umbral en pendiente coinciden con el rombo de la sala.
   No toca el clip-path (silueta/area de clic) ni .door-light (indicador de estado).
   PCLAU_019(serie): la textura de puerta queda SOLO en la habitación base (.nv-room-base).
   La sala 61 deja de ser especial: vuelve a la puerta de madera como las salas contiguas. */
.nv-room-base .nv-grid-door-north .door-frame,
.nv-room-base .nv-grid-door-west .door-frame{
  background:url('UN-LUGAR-ECO-VERDE.svg?v=PCLAU_028') no-repeat transparent !important; /* PCLAU_028: SVG con marco marrón SIN bandas negras; fondo transparente (uniforme). La profundidad la da el filter del button (muere en arista hacia el muro). */
  background-size:5.572% 21% !important; /* PCLAU_017: footprint del clip-path activo (jambas 5.572% x 21%) */
  border:0 !important;
  box-shadow:none !important;
}
.nv-room-base .nv-grid-door-north .door-frame::before,
.nv-room-base .nv-grid-door-north .door-frame::after,
.nv-room-base .nv-grid-door-west .door-frame::before,
.nv-room-base .nv-grid-door-west .door-frame::after{content:none !important;}
.nv-room-base .nv-grid-door-north .door-frame{
  background-image:url('UN-LUGAR-ECO-VERDE-N.svg?v=PCLAU_028') !important; /* PCLAU_028: SVG Norte = espejo, marco marrón sin bandas negras */
  background-position:70.65% 7.05% !important; /* PCLAU_017: encaje exacto al clip */
  transform-origin:66.714% 5.571% !important;  /* PCLAU_017: pivote = vértice superior-izq del clip activo */
  transform:skewY(33.18deg) !important;
}
.nv-room-base .nv-grid-door-west .door-frame{
  background-position:29.35% 13.20% !important; /* PCLAU_017: encaje exacto al clip */
  transform-origin:27.714% 10.429% !important;  /* PCLAU_017: pivote = vértice superior-izq del clip activo */
  transform:skewY(-33.18deg) !important;
}
/* === PCLAU_027 · El SVG ya trae marco marrón + bandas negras (Oeste izq+arriba · Norte der+arriba).
   ENCIMA se recupera la extrusión por filter:drop-shadow (sobresale del recorte, va hacia el muro:
   Norte arriba-derecha · Oeste arriba-izquierda) y se baja+adelanta la puerta un punto con translate
   (Norte abajo-izq · Oeste abajo-der). Color 100% opaco. Solo sala base. === */
.nv-room-base .nv-grid-door-north button{
  filter:drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) drop-shadow(4px -2.6px 0 #0e1a14) !important;
  transform:translate(-5.25px,5.25px) !important; /* desplazamiento residual medio punto */
}
.nv-room-base .nv-grid-door-west button{
  filter:drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) drop-shadow(-4px -2.6px 0 #0e1a14) !important;
  transform:translate(5.25px,5.25px) !important; /* desplazamiento residual medio punto */
}
.nv-backpack-help{margin:8px 0 10px;color:#b8f7c8;font-size:.76rem;font-weight:800;line-height:1.25}
.nv-backpack-accordions{display:grid;gap:8px}
.nv-backpack-accordion{border:1px solid rgba(141,240,165,.28);border-radius:15px;background:rgba(10,22,13,.34);overflow:hidden;color:#eaffef}
.nv-backpack-accordion[open]{background:rgba(16,38,22,.62)}
.nv-backpack-accordion summary{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 11px;cursor:pointer;list-style:none;font-weight:900}
.nv-backpack-accordion summary::-webkit-details-marker{display:none}
.nv-backpack-accordion summary::after{content:'▾';font-size:.72rem;color:#b8f7c8;transition:transform .18s ease;grid-column:3;grid-row:1;justify-self:end;margin-left:6px}
.nv-backpack-accordion[open] summary::after{transform:rotate(180deg)}
.nv-backpack-accordion-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:11px;background:#d9f99d;color:#17320b}
.nv-backpack-accordion summary small{padding-right:16px;color:#b8f7c8;font-weight:900;font-size:.72rem;white-space:nowrap}
.nv-backpack-accordion.is-empty{opacity:.72}
.nv-backpack-accordion.is-empty summary{cursor:default}
.nv-backpack-accordion .nv-backpack-items{padding:0 10px 10px;min-height:0}
.nv-backpack-items article{cursor:context-menu;user-select:none}
.nv-backpack-items article:hover{filter:brightness(1.04)}
.nv-backpack-context-menu{position:fixed;z-index:99999;min-width:220px;display:grid;gap:6px;padding:9px;border:1px solid rgba(141,240,165,.48);border-radius:14px;background:#15251a;color:#eaffef;box-shadow:0 18px 45px rgba(0,0,0,.38)}
.nv-backpack-context-menu strong{display:block;padding:3px 5px 6px;font-size:.82rem;color:#b8f7c8;border-bottom:1px solid rgba(255,255,255,.12)}
.nv-backpack-context-menu button{width:100%;border:1px solid rgba(185,216,177,.75);border-radius:10px;background:linear-gradient(180deg,#ffffff,#e6f3df);color:#173d1d;font-weight:900;padding:8px 10px;text-align:left;cursor:pointer}
.nv-backpack-context-menu button:disabled{opacity:.55;cursor:not-allowed;background:#d8ded5;color:#4c5b4f}
@media (max-width:560px){.nv-backpack-accordion summary{grid-template-columns:auto 1fr}.nv-backpack-accordion summary small{grid-column:2;padding-right:0}.nv-backpack-accordion summary::after{grid-column:2;grid-row:1}}

.nv-system-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(4,14,8,.58);backdrop-filter:blur(6px)}
.nv-system-modal-card{width:min(430px,94vw);border:1px solid rgba(174,224,170,.78);border-radius:22px;background:linear-gradient(180deg,#f8fff3,#e5f4dc);box-shadow:0 28px 70px rgba(0,0,0,.38);color:#102913;overflow:hidden}
.nv-system-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:linear-gradient(135deg,#1f5d28,#3b8a3d);color:#f2ffef}
.nv-system-modal-head h3{margin:0;font-size:1rem;line-height:1.2}
.nv-system-modal-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:1.35rem;font-weight:900;line-height:1;cursor:pointer}
.nv-system-modal-message{margin:0;padding:20px 18px 12px;font-size:.96rem;line-height:1.45;font-weight:750;color:#18371c}
.nv-system-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 18px 18px;flex-wrap:wrap}
.nv-system-modal-btn{border:1px solid #7aa06f;border-radius:999px;background:#f7fff3;color:#18371c;font-weight:900;padding:10px 16px;cursor:pointer;box-shadow:0 8px 18px rgba(20,61,25,.12)}
.nv-system-modal-btn-primary{background:linear-gradient(180deg,#dcf6d2,#addd9d);border-color:#4f8947;color:#123916}
.nv-system-modal-bad .nv-system-modal-head{background:linear-gradient(135deg,#8a241d,#c7513f)}
.nv-system-modal-warn .nv-system-modal-head{background:linear-gradient(135deg,#7c4a0b,#d18b1f)}
.nv-system-modal-open{overflow:hidden}
@media (max-width:560px){.nv-system-modal{padding:14px}.nv-system-modal-actions{justify-content:stretch}.nv-system-modal-btn{flex:1 1 auto}}

.nv-ajax-notice{
  position:fixed;
  left:50%;
  right:auto;
  bottom:18px;
  transform:translateX(-50%);
  z-index:99990;
  max-width:min(620px,calc(100vw - 32px));
  padding:13px 18px;
  border-radius:18px;
  border:1px solid #b8d9b1;
  background:#ecfdf3;
  color:#15451f;
  box-shadow:0 18px 45px rgba(0,0,0,.24);
  font-weight:900;
  text-align:center;
}
.nv-ajax-notice.bad{
  background:#fff1f1;
  border-color:#ffb4b4;
  color:#8f1a12;
}
.nv-ajax-notice.warn{
  background:#fff7e6;
  border-color:#ffd49a;
  color:#7b4300;
}
.nv-system-log-panel{
  margin-top:14px;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(109,151,93,.42);
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(235,248,226,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.nv-system-log-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.nv-system-log-head h3{
  margin:0;
  font-size:.98rem;
  color:#153d1c;
}
.nv-system-log-head small{
  color:#55704b;
  font-weight:800;
}
.nv-system-log-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
  max-height:230px;
  overflow:auto;
}
.nv-system-log-item,
.nv-system-log-empty{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border-radius:13px;
  border:1px solid #d9ead1;
  background:#fbfff8;
  color:#203b18;
  font-size:.82rem;
  font-weight:800;
  line-height:1.25;
}
.nv-system-log-item time{
  color:#5d7552;
  font-size:.76rem;
  font-weight:900;
}
.nv-system-log-bad{
  border-color:#f0b6ad;
  background:#fff6f4;
  color:#7d2118;
}
.nv-system-log-warn{
  border-color:#f1d09b;
  background:#fffaf0;
  color:#744403;
}
.nv-system-log-empty{
  display:block;
  color:#61735a;
  font-style:italic;
}
@media (max-width:760px){
  .nv-ajax-notice{bottom:12px;max-width:calc(100vw - 22px);padding:12px 14px;font-size:.9rem}
  .nv-system-log-list{max-height:190px}
}

/* === PCLAU26: log inferior compacto y acordeones estables === */
.nv-footer{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  max-width:min(1180px,94vw);
  margin:0 auto;
  padding:8px 10px 12px !important;
  font-size:.72rem !important;
  line-height:1.15 !important;
  white-space:normal;
  overflow:hidden;
}
.nv-footer span{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nv-system-log-dock{
  width:min(760px,100%);
  margin:10px auto 0;
  padding:7px 10px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px 12px;
  align-items:center;
  border:1px solid rgba(165,220,154,.55);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(245,255,239,.94),rgba(221,241,211,.94));
  color:#14381b;
  box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.85);
  cursor:pointer;
  user-select:none;
}
.nv-system-log-dock:hover{filter:brightness(1.02)}
.nv-system-log-dock:focus-visible{outline:3px solid rgba(103,201,95,.45);outline-offset:2px}
.nv-system-log-dock-title{
  display:grid;
  gap:1px;
  min-width:112px;
}
.nv-system-log-dock-title strong{
  font-size:.82rem;
  line-height:1;
  color:#102f16;
}
.nv-system-log-dock-title small{
  font-size:.64rem;
  color:#57704d;
  font-weight:800;
  line-height:1;
}
.nv-system-log-preview{
  display:grid;
  gap:2px;
  min-width:0;
  color:#24451f;
  font-size:.72rem;
  font-weight:850;
  line-height:1.12;
}
.nv-system-log-preview-line{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nv-system-log-preview-line.nv-system-log-bad{color:#8f1a12}
.nv-system-log-preview-line.nv-system-log-warn{color:#7b4300}
.nv-system-log-modal{
  position:fixed;
  inset:0;
  z-index:99998;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:0 16px 64px;
  background:rgba(4,14,8,.28);
  backdrop-filter:blur(3px);
}
.nv-system-log-modal.is-open{display:flex}
.nv-system-log-modal-card{
  width:min(520px,calc(100vw - 32px));
  max-height:42vh;
  border:1px solid rgba(174,224,170,.82);
  border-radius:18px;
  background:linear-gradient(180deg,#f8fff3,#e5f4dc);
  color:#102913;
  box-shadow:0 24px 58px rgba(0,0,0,.38);
  overflow:hidden;
}
.nv-system-log-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  background:linear-gradient(135deg,#1f5d28,#3b8a3d);
  color:#f2ffef;
}
.nv-system-log-modal-head h3{
  margin:0;
  font-size:.9rem;
  line-height:1.15;
  color:#f2ffef;
}
.nv-system-log-modal-close{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:1.2rem;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.nv-system-log-list-modal{
  padding:10px !important;
  max-height:calc(42vh - 50px) !important;
  overflow:auto;
}
.nv-system-log-list-modal .nv-system-log-item,
.nv-system-log-list-modal .nv-system-log-empty{
  padding:6px 8px;
  font-size:.78rem;
  line-height:1.18;
}
.nv-system-log-list-modal .nv-system-log-item time{font-size:.7rem}
@media (max-width:760px){
  .nv-system-log-dock{grid-template-columns:1fr;gap:4px;margin-top:8px;padding:7px 9px}
  .nv-system-log-dock-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
  .nv-system-log-preview{font-size:.7rem}
  .nv-system-log-modal{padding:0 10px 58px}
  .nv-footer{padding:7px 8px 10px !important;font-size:.68rem !important}
}


/* === PCLAU27: log vuelve al lateral derecho y sin pie que estire pantalla === */
.nv-footer{display:none !important;height:0 !important;min-height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important}
.nv-game-shell{padding-bottom:0 !important;margin-bottom:0 !important}
.nv-system-log-dock{display:none !important}
.nv-system-log-panel-side{
  margin-top:10px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(141,240,165,.30);
  background:rgba(10,22,13,.48);
  color:#eaffef;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  cursor:pointer;
  user-select:none;
}
.nv-system-log-panel-side:hover{filter:brightness(1.04)}
.nv-system-log-panel-side .nv-system-log-head{align-items:center;margin-bottom:8px}
.nv-system-log-panel-side .nv-system-log-head h3{font-size:.86rem;color:#eaffef}
.nv-system-log-panel-side .nv-system-log-head small{font-size:.66rem;color:#b8f7c8}
.nv-system-log-list-side{
  gap:5px;
  max-height:178px;
  overflow:auto;
  padding-right:2px;
}
.nv-system-log-list-side .nv-system-log-item,
.nv-system-log-list-side .nv-system-log-empty{
  grid-template-columns:38px minmax(0,1fr);
  gap:6px;
  padding:6px 7px;
  border-radius:11px;
  border-color:rgba(185,216,177,.20);
  background:rgba(255,255,255,.08);
  color:#eefced;
  font-size:.73rem;
  line-height:1.18;
}
.nv-system-log-list-side .nv-system-log-item time{color:#b8f7c8;font-size:.68rem}
.nv-system-log-list-side .nv-system-log-bad{background:rgba(119,32,25,.34);color:#ffe7e2;border-color:rgba(240,182,173,.32)}
.nv-system-log-list-side .nv-system-log-warn{background:rgba(126,76,10,.34);color:#ffefd3;border-color:rgba(241,208,155,.34)}
.nv-system-log-list-side .nv-system-log-empty{display:block;color:#b8cbb8}
.nv-system-log-modal{align-items:center !important;padding:18px !important}
.nv-system-log-modal-card{max-height:min(430px,78vh) !important}
.nv-system-log-list-modal{max-height:calc(min(430px,78vh) - 50px) !important}
@media (max-width:1280px){.nv-system-log-panel-side{margin-top:10px}.nv-system-log-list-side{max-height:150px}}
@media (max-width:760px){.nv-system-log-panel-side{padding:9px}.nv-system-log-list-side{max-height:136px}.nv-footer{display:none !important}}

/* === PCLAU_017 · piloto rojo/verde reubicado al centro del dintel (top) de cada puerta.
   Coords = punto medio de la arista superior del clip-path activo (3169-3172).
   translate(-50%,0): centrado en X y colgando bajo el dintel hacia el interior del trapecio
   (queda totalmente visible, sin recorte del <button>). No altera aspecto ni estado del piloto. === */
.nv-grid-door .door-light{ right:auto !important; bottom:auto !important; transform:translate(-50%,0) !important; }
.nv-grid-door-north .door-light{ left:69.5% !important; top:8% !important; }
.nv-grid-door-west  .door-light{ left:30.5% !important; top:8% !important; }
.nv-grid-door-south .door-light{ left:30.5% !important; top:42% !important; }
.nv-grid-door-east  .door-light{ left:69.5% !important; top:42% !important; }

/* === PCLAU_031 · PUERTA con PROFUNDIDAD REAL (norte/oeste, solo sala base) =================
   Problema previo (PCLAU_027): la extrusion era una pila de drop-shadow de un unico color
   casi negro en una sola direccion -> la puerta proyectaba su silueta plana como SOMBRA.
   Solucion: se replica el lenguaje 3D de los MUEBLES (.nv-decor-shelf): canto/jamba a DOS
   tonos (oscuro pegado a la hoja + cara lateral mas clara que recede hacia el muro) con la
   pendiente real del muro (33.18deg, ratio 0.654) y un filo superior iluminado. La silueta
   sigue saliendo del clip-path del <button>, por eso la profundidad se construye con
   drop-shadow (sigue el alfa de la hoja), pero ahora con RAMPA DE COLOR = volumen, no sombra.
   No toca clip-path (area de clic) ni .door-light (piloto de estado). =========================== */
.nv-room-base{
  --door-jamb-near:#181009;            /* jamba en sombra, pegada a la hoja */
  --door-jamb-far:#46311d;             /* cara lateral del marco que recede hacia el muro */
  --door-jamb-lip:rgba(255,238,206,.55); /* filo superior iluminado del canto */
}
/* NORTE: muro trasero-derecho -> el canto recede ARRIBA-DERECHA (+x,-y), como shelf-right */
.nv-room-base .nv-grid-door-north button{
  filter:
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(1.54px -1.01px 0 var(--door-jamb-lip)) !important;
  transform:translate(-5.25px,5.25px) !important;
}
/* OESTE: muro izquierdo -> el canto recede ARRIBA-IZQUIERDA (-x,-y), como shelf-left */
.nv-room-base .nv-grid-door-west button{
  filter:
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-near))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-2.20px -1.44px 0 var(--door-jamb-far))
    drop-shadow(-1.54px -1.01px 0 var(--door-jamb-lip)) !important;
  transform:translate(5.25px,5.25px) !important;
}

/* === PCLAU_032 · OBJETO DE SUELO = CAJA DE EMBALAJE KRAFT (solo sala base) ==================
   Sustituye el cilindro+cuadro (PCLAU_013) por una caja isometrica de carton kraft con cinta
   de embalar, asentada en la casilla del rombo. La cara SUPERIOR (rombo) muestra el objeto
   (icono); el cuerpo tiene dos caras (izq en sombra / der iluminada) con tira de cinta vertical.
   El nombre lo da el tooltip nativo (title="Recoger ...") al pasar el cursor. Se mantiene la
   posicion del contenedor (PCLAU_013) y el clic de recogida (<button submit>). =============== */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item button{
  width:58px !important; min-width:58px !important; height:56px !important;
  padding:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important;
  transform:none !important; overflow:visible !important;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.40)) !important;
}
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item button:hover{
  transform:translateY(-3px) !important; filter:drop-shadow(0 7px 6px rgba(0,0,0,.42)) brightness(1.05) !important;
}
/* CARA SUPERIOR: rombo kraft con cruz de cinta de embalar */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item button::before{
  content:"" !important; position:absolute !important; left:0 !important; top:0 !important;
  width:58px !important; height:32px !important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) !important;
  background:
    linear-gradient(0deg, transparent 41%, rgba(228,210,168,.92) 41% 59%, transparent 59%),
    linear-gradient(90deg, transparent 42%, rgba(232,215,174,.95) 42% 58%, transparent 58%),
    linear-gradient(135deg,#e0c590 0%,#cda86f 55%,#b69a64 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,247,228,.6) !important;
  z-index:2 !important;
}
/* CUERPO: dos caras (seam central) + tira de cinta vertical */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item button::after{
  content:"" !important; position:absolute !important; left:0 !important; top:16px !important;
  width:58px !important; height:40px !important; border-radius:0 !important;
  clip-path:polygon(0 0,50% 40%,100% 0,100% 60%,50% 100%,0 60%) !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.22) 0 50%, rgba(255,255,255,.05) 50% 100%),
    linear-gradient(90deg, transparent 41%, rgba(224,206,162,.90) 41% 59%, transparent 59%),
    linear-gradient(180deg,#b98d55 0%,#7e5d36 100%) !important;
  z-index:1 !important;
}
/* ICONO del objeto sobre la cara superior */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item span{
  position:absolute !important; left:50% !important; top:6px !important;
  transform:translateX(-50%) !important; font-size:.82rem !important; line-height:1 !important;
  min-height:0 !important; z-index:4 !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.45)) !important;
}
/* CANTIDAD: pildora en la cara frontal-derecha */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item small{
  position:absolute !important; left:auto !important; right:5px !important; bottom:7px !important;
  transform:none !important; min-width:14px !important; font-size:.46rem !important; font-weight:1000 !important;
  background:rgba(20,12,4,.72) !important; color:#ffe9c2 !important; border-radius:999px !important;
  padding:0 4px !important; z-index:4 !important;
}
/* SOMBRA DE CONTACTO en la casilla (rombo difuminado) */
.nv-orchid-room.nv-room-base.nv-room-decor-test .nv-floor-item::after{
  content:"" !important; position:absolute !important; left:50% !important; top:auto !important; bottom:-4px !important;
  width:50px !important; height:26px !important;
  transform:translateX(-50%) rotateZ(45deg) scaleY(.6) !important; border-radius:6px !important; border:0 !important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.45) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,0) 78%) !important;
  box-shadow:none !important; opacity:1 !important; z-index:-1 !important;
}

.nv-orchid-shell{
  --nv-ui-panel-bg:linear-gradient(180deg,rgba(10,33,24,.95),rgba(7,24,18,.92));
  --nv-ui-panel-border:rgba(141,240,165,.28);
  --nv-ui-title:#f3fff5;
  --nv-ui-text:#dff2e4;
  --nv-ui-muted:#b8d8c2;
  --nv-stage-muted:#1e2a23;
}
.nv-hud-bar{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  min-height:86px !important;
  padding:10px 14px !important;
  margin-bottom:10px !important;
  background:linear-gradient(180deg,#ececea,#d7d8d4) !important;
  border:1px solid rgba(120,130,120,.72) !important;
  border-radius:18px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 12px 26px rgba(0,0,0,.14) !important;
}
.nv-hud-logo{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#ecf5e8);
  border:1px solid rgba(112,145,110,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 10px 22px rgba(20,55,28,.16);
  overflow:hidden;
  text-decoration:none;
}
.nv-hud-logo img{
  width:58px;
  height:58px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.22));
}
.nv-hud-center{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.nv-hud-kpis{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex:0 1 auto !important;
}
.nv-kpi{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:6px 11px 6px 7px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#edf6e8) !important;
  border:1px solid rgba(152,184,146,.74) !important;
  color:#15381d !important;
  font-size:.9rem !important;
  font-weight:1000 !important;
  line-height:1 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 16px rgba(28,72,35,.11) !important;
}
.nv-kpi b{
  width:28px !important;
  height:28px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:11px !important;
  background:linear-gradient(180deg,#2f7a38,#17451e) !important;
  color:#f2fff0 !important;
  font-size:1rem !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.nv-kpi span:not([data-nv-player-stat]){
  display:inline-flex;
  align-items:center;
}
.nv-kpi-backpack span{
  font-family:ui-monospace,Consolas,monospace;
}
.nv-hud-minimap{
  min-height:42px;
  position:relative;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:6px 9px;
  border-radius:16px;
  background:linear-gradient(180deg,#1b2b20,#101b14);
  border:1px solid rgba(141,240,165,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.13);
  cursor:zoom-in;
}
.nv-hud-minimap .nv-orchid-minimap{
  width:58px !important;
  height:58px !important;
  aspect-ratio:1/1 !important;
}
.nv-hud-minimap-meta,.nv-hud-room-count{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:42px;
  padding:6px 11px;
  border-radius:16px;
  background:linear-gradient(180deg,#1b2b20,#101b14) !important;
  color:#b9fac7 !important;
  border:1px solid rgba(141,240,165,.24);
  font-size:.82rem !important;
  font-weight:1000 !important;
  line-height:1 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.13);
  white-space:nowrap;
}
.nv-hud-room-count b{
  font-size:1rem;
}
.nv-hud-actions{
  display:flex !important;
  justify-content:flex-end !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
}
.nv-hud-actions .nv-fab{
  min-width:auto !important;
  min-height:40px !important;
  padding:9px 13px !important;
  border-radius:13px !important;
  font-size:.82rem !important;
  font-weight:1000 !important;
  box-shadow:0 8px 16px rgba(0,0,0,.12) !important;
}
.nv-drawer-current-summary{
  background:linear-gradient(180deg,#f5fff1,#e3f3dc);
  border:1px solid rgba(141,184,127,.45);
  border-radius:18px;
  color:#17351d;
}
.nv-drawer-current-summary .nv-hud-kicker{
  color:#477550 !important;
  font-size:.68rem !important;
  margin:0 0 4px !important;
}
.nv-drawer-current-summary h3{
  margin:0 !important;
  color:#14381c !important;
  font-size:1.05rem !important;
  line-height:1.15 !important;
}
.nv-drawer-current-summary .nv-hud-meta{
  margin:5px 0 0 !important;
  color:#45634c !important;
  font-size:.76rem !important;
  white-space:normal !important;
}
.nv-retro-stage,.nv-retro-stage-solo{
  background:linear-gradient(180deg,#233128,#18231d) !important;
  border-color:rgba(141,240,165,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.20) !important;
}
.nv-retro-stage-solo .nv-flash-frame,.nv-flash-frame{
  background:#1d2822 !important;
  border-color:#344239 !important;
  box-shadow:inset 0 0 0 1px rgba(214,238,212,.18),0 14px 30px rgba(0,0,0,.24) !important;
}
.nv-room-side-panel,.nv-backpack-side-panel{
  background:var(--nv-ui-panel-bg) !important;
  border:1px solid var(--nv-ui-panel-border) !important;
  color:var(--nv-ui-text) !important;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:.88rem !important;
  line-height:1.4 !important;
}
.nv-side-head,.nv-backpack-side-head{
  padding-bottom:10px;
  margin-bottom:10px !important;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.nv-side-kicker{
  color:#a9efba !important;
  font-size:.72rem !important;
  font-weight:1000 !important;
  letter-spacing:.08em !important;
}
.nv-side-head h3,.nv-backpack-side-head h3{
  color:var(--nv-ui-title) !important;
  font-size:1.06rem !important;
  font-weight:1000 !important;
  line-height:1.16 !important;
}
.nv-side-head small,.nv-backpack-side-head small,.nv-side-description,.nv-room-side-panel .nv-muted,.nv-backpack-side-panel .nv-muted,.nv-backpack-help{
  color:var(--nv-ui-muted) !important;
  font-weight:750 !important;
}
.nv-side-description{
  font-size:.87rem !important;
  line-height:1.45 !important;
}
.nv-side-block{
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.nv-side-block h4,.nv-system-log-head h3{
  color:var(--nv-ui-title) !important;
  font-size:.94rem !important;
  font-weight:1000 !important;
}
.nv-condition-grid article,.nv-action-info,.nv-side-room-current,.nv-side-doors,.nv-survival-box,.nv-greenhouse-box{
  background:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.11) !important;
}
.nv-condition-grid small,.nv-action-info strong{
  color:#a9efba !important;
  font-weight:1000 !important;
}
.nv-condition-grid strong,.nv-action-info span{
  color:#f4fff5 !important;
}
.nv-backpack-summary{
  min-height:50px;
  padding:9px 11px !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#f9fff5,#dcefd6) !important;
  color:#17351d !important;
  border:1px solid rgba(178,214,168,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 16px rgba(0,0,0,.12) !important;
}
.nv-backpack-summary strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#17351d !important;
  font-size:1rem !important;
  font-family:ui-monospace,Consolas,monospace !important;
}
.nv-backpack-summary-icon{
  width:30px;
  height:30px;
  display:inline-grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(180deg,#2f7a38,#17451e);
  color:#f2fff0;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
.nv-backpack-summary small{
  color:#506b55 !important;
  text-transform:uppercase;
  font-size:.66rem !important;
  letter-spacing:.05em;
}
.nv-backpack-accordions{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:6px !important;
  align-items:start;
}
.nv-backpack-accordion{
  min-width:0;
  border-radius:14px !important;
  overflow:visible !important;
  background:rgba(255,255,255,.06) !important;
}
.nv-backpack-accordion summary{
  min-height:56px;
  display:grid !important;
  grid-template-columns:1fr !important;
  place-items:center !important;
  gap:2px !important;
  padding:6px !important;
  border-radius:14px;
  background:linear-gradient(180deg,#f9fff5,#dcefd6);
  color:#17351d;
  border:1px solid rgba(178,214,168,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 7px 14px rgba(0,0,0,.13);
}
.nv-backpack-accordion summary::after{
  content:none !important;
}
.nv-backpack-accordion-icon{
  width:28px !important;
  height:26px !important;
  background:transparent !important;
  color:inherit !important;
  font-size:1.25rem;
}
.nv-backpack-accordion-ratio{
  color:#17351d !important;
  font-size:.75rem !important;
  font-weight:1000 !important;
  font-family:ui-monospace,Consolas,monospace;
  white-space:nowrap;
}
.nv-backpack-accordion[open]{
  grid-column:1/-1;
  background:rgba(255,255,255,.075) !important;
  padding:8px;
  border-color:rgba(141,240,165,.38) !important;
}
.nv-backpack-accordion[open] summary{
  max-width:72px;
  float:left;
  margin:0 10px 8px 0;
}
.nv-backpack-detail-head{
  display:none;
}
.nv-backpack-accordion[open] .nv-backpack-detail-head{
  display:grid;
  gap:2px;
  min-height:56px;
  align-content:center;
  padding:7px 0 8px;
  color:var(--nv-ui-text);
}
.nv-backpack-detail-head strong{
  color:var(--nv-ui-title);
  font-size:.94rem;
  font-weight:1000;
}
.nv-backpack-detail-head small{
  color:var(--nv-ui-muted);
  font-size:.78rem;
  font-weight:850;
}
.nv-backpack-accordion .nv-backpack-items{
  clear:both;
  padding:8px 0 0 !important;
}
.nv-backpack-accordion:not([open]) .nv-backpack-items,
.nv-backpack-accordion:not([open]) .nv-backpack-detail-head{
  display:none !important;
}
@media (max-width:1280px){
  .nv-hud-bar{grid-template-columns:auto 1fr !important;}
  .nv-hud-actions{grid-column:1/-1;justify-content:center !important;}
}
@media (max-width:760px){
  .nv-hud-bar{grid-template-columns:1fr !important;justify-items:center;min-height:auto !important;}
  .nv-hud-logo{width:58px;height:58px;}
  .nv-hud-logo img{width:52px;height:52px;}
  .nv-hud-center{width:100%;gap:8px;}
  .nv-hud-kpis{width:100%;}
  .nv-kpi{min-height:38px !important;font-size:.78rem !important;padding:5px 9px 5px 6px !important;}
  .nv-kpi b{width:25px !important;height:25px !important;font-size:.9rem !important;}
  .nv-hud-minimap .nv-orchid-minimap{width:50px !important;height:50px !important;}
  .nv-backpack-accordions{grid-template-columns:repeat(5,minmax(48px,1fr)) !important;}
}
@media (max-width:560px){
  .nv-backpack-accordions{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .nv-backpack-accordion[open]{grid-column:1/-1;}
}

/* === PCLAU_018 · Ajustes HUD / Panel / Mochilas / Mensajes === */
.nv-drawer-current-summary{
  border-radius:10px !important;
  padding:11px 13px !important;
  gap:7px !important;
  overflow:visible !important;
}
.nv-drawer-current-summary .nv-hud-kicker{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:6px !important;
  color:#477550 !important;
  font-size:.64rem !important;
  line-height:1.22 !important;
  letter-spacing:.015em !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.nv-drawer-current-summary h3{line-height:1.16 !important;}
.nv-drawer-current-summary .nv-hud-meta{line-height:1.25 !important;}

.nv-hud-minimap{
  min-height:64px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.nv-hud-minimap .nv-orchid-minimap{
  width:72px !important;
  height:72px !important;
  margin:0 !important;
}
.nv-hud-minimap-meta{display:none !important;}

.nv-backpack-side-head{padding-bottom:8px !important;margin-bottom:8px !important;}
.nv-backpack-side-head h3{margin:0 !important;font-size:1.02rem !important;}
.nv-backpack-side-head small{
  display:block !important;
  margin-top:3px !important;
  color:var(--nv-ui-muted) !important;
  font-size:.8rem !important;
  font-weight:850 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.nv-backpack-summary-side{
  min-height:auto !important;
  margin:0 0 8px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.nv-backpack-summary-side strong{
  width:100% !important;
  display:block !important;
  justify-content:flex-start !important;
  color:var(--nv-ui-muted) !important;
  font-family:inherit !important;
  font-size:.8rem !important;
  font-weight:850 !important;
  line-height:1.2 !important;
}
.nv-backpack-summary-side small,.nv-backpack-help{display:none !important;}

.nv-system-log-panel-side .nv-system-log-head h3{font-size:.9rem !important;}
.nv-system-log-panel-side .nv-system-log-head small{font-size:.68rem !important;}
.nv-system-log-list .nv-system-log-item.nv-system-log-ok,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-ok,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-ok{
  background:linear-gradient(135deg,#1e7f37,#155f28) !important;
  border-color:rgba(189,255,205,.32) !important;
  color:#f5fff7 !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-warn,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-warn,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-warn{
  background:linear-gradient(135deg,#e18417,#b35d08) !important;
  border-color:rgba(255,225,178,.42) !important;
  color:#fff8ec !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-bad,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-bad,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-bad{
  background:linear-gradient(135deg,#bd352a,#8e2019) !important;
  border-color:rgba(255,197,190,.42) !important;
  color:#fff4f1 !important;
}
.nv-system-log-list .nv-system-log-item time,
.nv-system-log-list-side .nv-system-log-item time,
.nv-system-log-list-modal .nv-system-log-item time{
  color:rgba(255,255,255,.82) !important;
}
.nv-system-log-list .nv-system-log-item span,
.nv-system-log-list-side .nv-system-log-item span,
.nv-system-log-list-modal .nv-system-log-item span{
  color:inherit !important;
}

.nv-ajax-notice,
.nv-flash:not(.nv-flash-bad):not(.nv-flash-warn),
.nv-flash.nv-flash-toast:not(.nv-flash-bad):not(.nv-flash-warn){
  background:linear-gradient(135deg,#1e7f37,#155f28) !important;
  border-color:rgba(189,255,205,.48) !important;
  color:#f5fff7 !important;
  text-shadow:none !important;
}
.nv-ajax-notice.warn,
.nv-flash-warn,
.nv-flash.nv-flash-warn.nv-flash-toast{
  background:linear-gradient(135deg,#e18417,#b35d08) !important;
  border-color:rgba(255,225,178,.58) !important;
  color:#fff8ec !important;
  text-shadow:none !important;
}
.nv-ajax-notice.bad,
.nv-flash-bad,
.nv-flash.nv-flash-bad.nv-flash-toast{
  background:linear-gradient(135deg,#bd352a,#8e2019) !important;
  border-color:rgba(255,197,190,.58) !important;
  color:#fff4f1 !important;
  text-shadow:none !important;
}
.nv-ajax-notice,.nv-flash.nv-flash-toast{
  border-radius:16px !important;
  font-weight:950 !important;
  line-height:1.25 !important;
}
@media (max-width:760px){
  .nv-hud-minimap{min-height:58px !important;}
  .nv-hud-minimap .nv-orchid-minimap{width:58px !important;height:58px !important;}
}

/* === PCLAU_019 · Mochilas: líneas limpias sin etiquetas extra === */
.nv-backpack-side-head small,
.nv-backpack-summary-side strong{
  text-transform:none !important;
  letter-spacing:0 !important;
}
.nv-backpack-summary-side .nv-backpack-summary-icon{display:none !important;}

.nv-system-log-panel-side{
  min-height:340px !important;
  display:flex !important;
  flex-direction:column !important;
}
.nv-system-log-panel-side .nv-system-log-head{
  flex:0 0 auto !important;
}
.nv-system-log-list-side{
  flex:1 1 auto !important;
  min-height:280px !important;
  max-height:380px !important;
  gap:7px !important;
}
.nv-system-log-list-side .nv-system-log-item,
.nv-system-log-list-side .nv-system-log-empty{
  min-height:44px !important;
  padding:8px 9px !important;
  font-size:.76rem !important;
  line-height:1.24 !important;
  overflow:visible !important;
}
.nv-system-log-list-side .nv-system-log-item span{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
}

.nv-side-doors .nv-door-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
}
.nv-side-doors .nv-door-form{
  min-width:0 !important;
}
.nv-side-doors .nv-door{
  position:relative !important;
  min-height:76px !important;
  height:100% !important;
  padding:10px 10px 9px 12px !important;
  border-radius:15px !important;
  border:1px solid rgba(141,240,165,.25) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045)) !important;
  color:#f2fff2 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 9px 18px rgba(0,0,0,.14) !important;
  overflow:hidden !important;
}
.nv-side-doors .nv-door::before{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  right:9px;
  top:9px;
  border-radius:999px;
  background:#8aa08d;
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.nv-side-doors .nv-door-status-open::before{background:#7eff95;box-shadow:0 0 12px rgba(126,255,149,.78),0 0 0 3px rgba(126,255,149,.16)}
.nv-side-doors .nv-door-status-closed::before{background:#ff6b5e;box-shadow:0 0 12px rgba(255,107,94,.72),0 0 0 3px rgba(255,107,94,.16)}
.nv-side-doors .nv-door-status-locked::before{background:#ffd66e;box-shadow:0 0 12px rgba(255,214,110,.72),0 0 0 3px rgba(255,214,110,.16)}
.nv-side-doors .nv-door-status-wall::before{background:#7b8880;box-shadow:0 0 0 3px rgba(255,255,255,.07)}
.nv-side-doors .nv-door strong{
  color:#bdf7c9 !important;
  font-size:.72rem !important;
  line-height:1 !important;
  letter-spacing:.065em !important;
  padding-right:18px !important;
}
.nv-side-doors .nv-door span{
  margin-top:5px !important;
  color:#ffffff !important;
  font-size:.78rem !important;
  font-weight:1000 !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.nv-side-doors .nv-door small{
  margin-top:5px !important;
  color:rgba(232,255,236,.74) !important;
  font-size:.64rem !important;
  font-weight:850 !important;
  line-height:1.15 !important;
}
.nv-side-doors .nv-door-static-muted{
  opacity:1 !important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.03)) !important;
  border-color:rgba(255,255,255,.10) !important;
}

.nv-hud-center{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:24px !important;
  row-gap:8px !important;
  width:100% !important;
  flex-wrap:nowrap !important;
}
.nv-hud-kpis{
  min-width:0 !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:8px 9px !important;
}
.nv-hud-minimap{
  min-width:96px !important;
  min-height:92px !important;
  justify-content:center !important;
  flex:0 0 auto !important;
}
.nv-hud-minimap .nv-orchid-minimap{
  width:88px !important;
  height:88px !important;
}
.nv-hud-room-count{
  justify-self:start !important;
  flex:0 0 auto !important;
}
@media (max-width:1280px){
  .nv-hud-center{grid-template-columns:minmax(0,1fr) auto !important;column-gap:16px !important;}
  .nv-hud-room-count{grid-column:1/-1 !important;justify-self:center !important;}
  .nv-system-log-panel-side{min-height:300px !important;}
  .nv-system-log-list-side{min-height:235px !important;max-height:320px !important;}
}
@media (max-width:760px){
  .nv-hud-center{grid-template-columns:1fr !important;justify-items:center !important;}
  .nv-hud-kpis{justify-content:center !important;}
  .nv-hud-minimap{min-width:72px !important;min-height:72px !important;}
  .nv-hud-minimap .nv-orchid-minimap{width:66px !important;height:66px !important;}
  .nv-side-doors .nv-door-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .nv-system-log-panel-side{min-height:260px !important;}
  .nv-system-log-list-side{min-height:200px !important;max-height:280px !important;}
}

.nv-system-log-panel-side{
  min-height:286px !important;
  max-height:none !important;
  overflow:hidden !important;
}
.nv-system-log-list-side{
  min-height:218px !important;
  max-height:none !important;
  overflow:visible !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.nv-system-log-list-side .nv-system-log-item:nth-of-type(n+6){display:none !important;}
.nv-system-log-list-side .nv-system-log-item,
.nv-system-log-list-side .nv-system-log-empty{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  min-height:38px !important;
  padding:7px 9px !important;
  font-size:.73rem !important;
  line-height:1.22 !important;
  overflow:hidden !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.nv-system-log-list-side .nv-system-log-item time,
.nv-system-log-list-side .nv-system-log-item span{
  display:block !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
.nv-system-log-list-side .nv-system-log-item time{margin-bottom:2px !important;}

.nv-hud-bar{
  min-height:86px !important;
  padding:10px 14px !important;
  margin-bottom:10px !important;
  overflow:visible !important;
}
.nv-hud-center{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 132px auto !important;
  align-items:center !important;
  column-gap:30px !important;
  row-gap:0 !important;
  width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
.nv-hud-kpis{
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  min-width:0 !important;
  overflow:hidden !important;
  gap:7px !important;
}
.nv-hud-minimap{
  width:132px !important;
  min-width:132px !important;
  height:64px !important;
  min-height:64px !important;
  padding:0 !important;
  justify-content:center !important;
  align-items:center !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  isolation:isolate !important;
}
.nv-hud-minimap .nv-orchid-minimap{
  width:96px !important;
  height:96px !important;
  margin:0 auto !important;
}
.nv-hud-room-count{
  justify-self:start !important;
  margin-left:0 !important;
  flex:0 0 auto !important;
}
@media (max-width:1280px){
  .nv-hud-center{grid-template-columns:minmax(0,1fr) 118px auto !important;column-gap:18px !important;}
  .nv-hud-minimap{width:118px !important;min-width:118px !important;height:64px !important;min-height:64px !important;}
  .nv-hud-minimap .nv-orchid-minimap{width:88px !important;height:88px !important;}
  .nv-hud-room-count{grid-column:auto !important;justify-self:start !important;}
  .nv-hud-kpis{gap:6px !important;}
  .nv-kpi{padding-left:6px !important;padding-right:9px !important;}
}
@media (max-width:760px){
  .nv-hud-bar{min-height:auto !important;}
  .nv-hud-center{grid-template-columns:1fr !important;justify-items:center !important;row-gap:8px !important;}
  .nv-hud-kpis{justify-content:center !important;flex-wrap:wrap !important;overflow:visible !important;}
  .nv-hud-minimap{width:86px !important;min-width:86px !important;height:58px !important;min-height:58px !important;}
  .nv-hud-minimap .nv-orchid-minimap{width:74px !important;height:74px !important;}
}

.nv-side-doors .nv-door-status-open::before{
  background:#ffd84d !important;
  box-shadow:0 0 12px rgba(255,216,77,.82),0 0 0 3px rgba(255,216,77,.18) !important;
}
.nv-side-doors .nv-door-status-closed::before,
.nv-side-doors .nv-door-status-locked::before{
  background:#06320f !important;
  box-shadow:0 0 11px rgba(6,50,15,.74),0 0 0 3px rgba(6,50,15,.20) !important;
}
.nv-side-doors .nv-door-status-wall::before,
.nv-side-doors .nv-door-static-muted::before{
  display:none !important;
}

/* === PCLAU_022 · Mensajes 20 / visor lateral 5 visibles / colores coherentes === */
.nv-system-log-panel-side{
  min-height:300px !important;
  max-height:none !important;
  overflow:hidden !important;
  cursor:pointer !important;
}
.nv-system-log-list-side{
  height:248px !important;
  min-height:248px !important;
  max-height:248px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:5px !important;
  gap:6px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(189,255,205,.5) rgba(0,0,0,.18) !important;
}
.nv-system-log-list-side::-webkit-scrollbar{width:8px !important;}
.nv-system-log-list-side::-webkit-scrollbar-track{background:rgba(0,0,0,.18) !important;border-radius:999px !important;}
.nv-system-log-list-side::-webkit-scrollbar-thumb{background:rgba(189,255,205,.55) !important;border-radius:999px !important;}
.nv-system-log-list-side .nv-system-log-item:nth-of-type(n+6){display:list-item !important;}
.nv-system-log-list-side .nv-system-log-item:nth-of-type(n+11){display:none !important;}
.nv-system-log-list-side .nv-system-log-item,
.nv-system-log-list-side .nv-system-log-empty{
  min-height:42px !important;
  max-width:100% !important;
  padding:7px 9px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}
.nv-system-log-list-side .nv-system-log-item time,
.nv-system-log-list-side .nv-system-log-item span,
.nv-system-log-list-modal .nv-system-log-item time,
.nv-system-log-list-modal .nv-system-log-item span{
  max-width:100% !important;
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  white-space:normal !important;
}
.nv-system-log-modal{align-items:center !important;padding:18px !important;}
.nv-system-log-modal-card{
  width:min(760px,calc(100vw - 32px)) !important;
  max-height:min(620px,84vh) !important;
  overflow:hidden !important;
}
.nv-system-log-list-modal{
  max-height:calc(min(620px,84vh) - 64px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:6px !important;
  scrollbar-width:thin !important;
  scrollbar-color:rgba(189,255,205,.55) rgba(0,0,0,.18) !important;
}
.nv-system-log-list-modal::-webkit-scrollbar{width:9px !important;}
.nv-system-log-list-modal::-webkit-scrollbar-track{background:rgba(0,0,0,.18) !important;border-radius:999px !important;}
.nv-system-log-list-modal::-webkit-scrollbar-thumb{background:rgba(189,255,205,.58) !important;border-radius:999px !important;}
.nv-system-log-list .nv-system-log-item.nv-system-log-caution,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-caution,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-caution{
  background:linear-gradient(135deg,#f6d44b,#c99309) !important;
  border-color:rgba(255,239,163,.64) !important;
  color:#2c2100 !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-warn,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-warn,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-warn{
  background:linear-gradient(135deg,#e18417,#b35d08) !important;
  border-color:rgba(255,225,178,.58) !important;
  color:#fff8ec !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-bad,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-bad,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-bad{
  background:linear-gradient(135deg,#bd352a,#8e2019) !important;
  border-color:rgba(255,197,190,.58) !important;
  color:#fff4f1 !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-ok,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-ok,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-ok{
  background:linear-gradient(135deg,#1e7f37,#155f28) !important;
  border-color:rgba(189,255,205,.48) !important;
  color:#f5fff7 !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-caution time,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-caution time,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-caution time{
  color:rgba(44,33,0,.7) !important;
}
.nv-ajax-notice.caution,
.nv-flash-caution,
.nv-flash.nv-flash-caution.nv-flash-toast{
  background:linear-gradient(135deg,#f6d44b,#c99309) !important;
  border-color:rgba(255,239,163,.70) !important;
  color:#2c2100 !important;
  text-shadow:none !important;
}
.nv-system-modal-caution .nv-system-modal-card{
  border-color:rgba(255,239,163,.54) !important;
  box-shadow:0 24px 70px rgba(90,58,0,.34) !important;
}
@media (max-width:760px){
  .nv-system-log-panel-side{min-height:268px !important;}
  .nv-system-log-list-side{height:218px !important;min-height:218px !important;max-height:218px !important;}
  .nv-system-log-modal-card{width:calc(100vw - 20px) !important;max-height:82vh !important;}
  .nv-system-log-list-modal{max-height:calc(82vh - 64px) !important;}
}


.nv-system-log-panel-side{
  height:356px !important;
  min-height:356px !important;
  max-height:356px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  cursor:pointer !important;
}
.nv-system-log-panel-side .nv-system-log-head{
  flex:0 0 auto !important;
  margin-bottom:8px !important;
}
.nv-system-log-list-side{
  flex:0 0 300px !important;
  height:300px !important;
  min-height:300px !important;
  max-height:300px !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  display:grid !important;
  align-content:start !important;
  gap:8px !important;
  padding-right:8px !important;
  scrollbar-width:thin !important;
  scrollbar-gutter:stable !important;
  scrollbar-color:rgba(189,255,205,.68) rgba(0,0,0,.20) !important;
}
.nv-system-log-list-side .nv-system-log-item:nth-of-type(n+6),
.nv-system-log-list-side .nv-system-log-item:nth-of-type(n+11){
  display:grid !important;
}
.nv-system-log-list-side .nv-system-log-item,
.nv-system-log-list-side .nv-system-log-empty{
  display:grid !important;
  grid-template-columns:43px minmax(0,1fr) !important;
  align-items:start !important;
  column-gap:8px !important;
  min-height:52px !important;
  height:auto !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:8px 9px !important;
  border-radius:12px !important;
  font-size:.72rem !important;
  line-height:1.22 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
}
.nv-system-log-list-side .nv-system-log-item time,
.nv-system-log-list-side .nv-system-log-item span{
  display:block !important;
  max-width:100% !important;
  min-width:0 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.2 !important;
}
.nv-system-log-list-side .nv-system-log-item time{
  font-size:.66rem !important;
  padding-top:1px !important;
  margin:0 !important;
}
.nv-system-log-list-side .nv-system-log-item span{
  font-size:.72rem !important;
  font-weight:950 !important;
}
.nv-system-log-modal{
  align-items:center !important;
  padding:18px !important;
}
.nv-system-log-modal-card{
  width:min(820px,calc(100vw - 32px)) !important;
  height:min(610px,82vh) !important;
  max-height:min(610px,82vh) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.nv-system-log-modal-head{
  flex:0 0 auto !important;
}
.nv-system-log-list-modal{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  display:grid !important;
  align-content:start !important;
  gap:7px !important;
  padding:10px 10px 10px 12px !important;
  scrollbar-width:thin !important;
  scrollbar-gutter:stable !important;
  scrollbar-color:rgba(189,255,205,.68) rgba(0,0,0,.20) !important;
}
.nv-system-log-list-modal .nv-system-log-item,
.nv-system-log-list-modal .nv-system-log-empty{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  align-items:start !important;
  column-gap:10px !important;
  min-height:46px !important;
  height:auto !important;
  padding:8px 11px !important;
  box-sizing:border-box !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
}
.nv-system-log-list-modal .nv-system-log-item time,
.nv-system-log-list-modal .nv-system-log-item span{
  display:block !important;
  max-width:100% !important;
  min-width:0 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  line-height:1.22 !important;
}
.nv-system-log-list-modal .nv-system-log-item span{
  font-size:.84rem !important;
  font-weight:950 !important;
}
.nv-system-log-list-side::-webkit-scrollbar,
.nv-system-log-list-modal::-webkit-scrollbar{width:9px !important;}
.nv-system-log-list-side::-webkit-scrollbar-track,
.nv-system-log-list-modal::-webkit-scrollbar-track{background:rgba(0,0,0,.20) !important;border-radius:999px !important;}
.nv-system-log-list-side::-webkit-scrollbar-thumb,
.nv-system-log-list-modal::-webkit-scrollbar-thumb{background:rgba(189,255,205,.68) !important;border-radius:999px !important;}
@media (max-width:760px){
  .nv-system-log-panel-side{height:326px !important;min-height:326px !important;max-height:326px !important;}
  .nv-system-log-list-side{flex-basis:270px !important;height:270px !important;min-height:270px !important;max-height:270px !important;}
  .nv-system-log-modal-card{width:calc(100vw - 20px) !important;height:82vh !important;max-height:82vh !important;}
}

/* === PCLAU_027 · Sincronización de pilotos puertas / mensajes / mini mapa === */
.nv-side-doors .nv-door::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  width:11px !important;
  height:11px !important;
  right:9px !important;
  top:9px !important;
  border-radius:999px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.nv-side-doors .nv-door-status-unknown::before{display:none !important;}
.nv-side-doors .nv-door-status-wall::before,
.nv-side-doors .nv-door-static-muted.nv-door-status-wall::before{
  display:block !important;
  background:#ff5b50 !important;
  box-shadow:0 0 12px rgba(255,91,80,.78),0 0 0 3px rgba(255,91,80,.17) !important;
}
.nv-side-doors .nv-door-status-locked::before{
  background:#ff9a2e !important;
  box-shadow:0 0 12px rgba(255,154,46,.80),0 0 0 3px rgba(255,154,46,.18) !important;
}
.nv-side-doors .nv-door-status-visited::before,
.nv-side-doors .nv-door-status-open::before{
  background:#7eff95 !important;
  box-shadow:0 0 12px rgba(126,255,149,.82),0 0 0 3px rgba(126,255,149,.18) !important;
}
.nv-side-doors .nv-door-status-passage::before{
  background:#ffffff !important;
  box-shadow:0 0 12px rgba(255,255,255,.88),0 0 0 3px rgba(255,255,255,.20) !important;
}
.nv-side-doors .nv-door-status-cultivation::before{
  background:#ffd84d !important;
  box-shadow:0 0 12px rgba(255,216,77,.84),0 0 0 3px rgba(255,216,77,.18) !important;
}
.nv-side-doors .nv-door-status-important::before{
  background:#42a5ff !important;
  box-shadow:0 0 12px rgba(66,165,255,.86),0 0 0 3px rgba(66,165,255,.20) !important;
}
.nv-side-doors .nv-door-status-unknown{
  border-color:rgba(255,255,255,.12) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)) !important;
}
.nv-side-doors .nv-door-status-important{border-color:rgba(66,165,255,.44) !important;}
.nv-side-doors .nv-door-status-cultivation{border-color:rgba(255,216,77,.38) !important;}
.nv-side-doors .nv-door-status-passage{border-color:rgba(255,255,255,.36) !important;}

.nv-grid-door .door-light{display:block !important;}
.nv-grid-door.is-unknown .door-light{display:none !important;}
.nv-grid-door.is-wall .door-light,
.nv-grid-door.is-blocked .door-light{
  background:#ff5b50 !important;
  box-shadow:0 0 12px rgba(255,91,80,.88),0 0 0 3px rgba(255,91,80,.18) !important;
}
.nv-grid-door.is-locked .door-light{
  background:#ff9a2e !important;
  box-shadow:0 0 12px rgba(255,154,46,.88),0 0 0 3px rgba(255,154,46,.18) !important;
}
.nv-grid-door.is-visited .door-light,
.nv-grid-door.is-open.is-visited .door-light{
  background:#7eff95 !important;
  box-shadow:0 0 12px rgba(126,255,149,.90),0 0 0 3px rgba(126,255,149,.18) !important;
}
.nv-grid-door.is-passage .door-light{
  background:#ffffff !important;
  box-shadow:0 0 12px rgba(255,255,255,.95),0 0 0 3px rgba(255,255,255,.22) !important;
}
.nv-grid-door.is-cultivation .door-light{
  background:#ffd84d !important;
  box-shadow:0 0 12px rgba(255,216,77,.90),0 0 0 3px rgba(255,216,77,.18) !important;
}
.nv-grid-door.is-important .door-light{
  background:#42a5ff !important;
  box-shadow:0 0 13px rgba(66,165,255,.95),0 0 0 3px rgba(66,165,255,.20) !important;
}
.nv-grid-door.is-unknown .door-frame{background:linear-gradient(180deg,#354039,#18221d) !important;}
.nv-grid-door.is-important .door-frame{box-shadow:inset 0 0 0 3px rgba(66,165,255,.16),0 8px 18px rgba(0,0,0,.32) !important;}

.nv-mini{position:relative !important;}
.nv-mini-room-visited{background:linear-gradient(180deg,#ffe577,#c69213) !important;border-color:rgba(255,232,122,.50) !important;}
.nv-mini-room-passage{background:linear-gradient(180deg,#ffffff,#d8ded8) !important;border-color:rgba(255,255,255,.55) !important;}
.nv-mini-room-cultivation{background:linear-gradient(180deg,#ffe577,#c69213) !important;border-color:rgba(255,232,122,.50) !important;}
.nv-mini-room-important{background:linear-gradient(180deg,#3f754d,#203d2a) !important;border-color:rgba(66,165,255,.38) !important;}
.nv-mini-current{box-shadow:0 0 0 3px rgba(246,212,98,.28),0 0 16px rgba(246,212,98,.20) !important;}
.nv-mini-important-dot::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:38% !important;
  height:38% !important;
  min-width:5px !important;
  min-height:5px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  background:#42a5ff !important;
  box-shadow:0 0 8px rgba(66,165,255,.95),0 0 0 2px rgba(2,18,35,.48) !important;
}
.nv-mini-hidden::after,.nv-mini-empty::after{display:none !important;}

.nv-system-log-list .nv-system-log-item.nv-system-log-important,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-important,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-important{
  background:linear-gradient(135deg,#287fd1,#0f4f91) !important;
  border-color:rgba(169,216,255,.62) !important;
  color:#f3f9ff !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-cultivation,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-cultivation,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-cultivation{
  background:linear-gradient(135deg,#ffd84d,#c99108) !important;
  border-color:rgba(255,239,163,.64) !important;
  color:#2c2100 !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-passage,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-passage,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-passage{
  background:linear-gradient(135deg,#ffffff,#dfe8df) !important;
  border-color:rgba(255,255,255,.70) !important;
  color:#102015 !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-important time,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-important time,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-important time{color:rgba(235,248,255,.78) !important;}
.nv-system-log-list .nv-system-log-item.nv-system-log-cultivation time,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-cultivation time,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-cultivation time,
.nv-system-log-list .nv-system-log-item.nv-system-log-passage time,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-passage time,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-passage time{color:rgba(16,32,21,.72) !important;}
.nv-ajax-notice.important,
.nv-flash-important,
.nv-flash.nv-flash-important.nv-flash-toast{
  background:linear-gradient(135deg,#287fd1,#0f4f91) !important;
  border-color:rgba(169,216,255,.70) !important;
  color:#f3f9ff !important;
}
.nv-ajax-notice.cultivation,
.nv-flash-cultivation,
.nv-flash.nv-flash-cultivation.nv-flash-toast{
  background:linear-gradient(135deg,#ffd84d,#c99108) !important;
  border-color:rgba(255,239,163,.70) !important;
  color:#2c2100 !important;
}
.nv-ajax-notice.passage,
.nv-flash-passage,
.nv-flash.nv-flash-passage.nv-flash-toast{
  background:linear-gradient(135deg,#ffffff,#dfe8df) !important;
  border-color:rgba(255,255,255,.76) !important;
  color:#102015 !important;
}


/* === PCLAU_028 · Rectificación mini mapa y pilotos apagados === */
/* Puertas contiguas no descubiertas: piloto visible pero apagado, sin color activo. */
.nv-side-doors .nv-door-status-unknown::before,
.nv-side-doors .nv-door-static-muted.nv-door-status-unknown::before{
  display:block !important;
  background:#243128 !important;
  border:1px solid rgba(190,220,195,.34) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.82),0 0 0 3px rgba(255,255,255,.035) !important;
  opacity:.72 !important;
}
.nv-grid-door.is-unknown .door-light{
  display:block !important;
  background:#253229 !important;
  border:1px solid rgba(190,220,195,.34) !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.82),0 0 0 3px rgba(255,255,255,.035) !important;
  opacity:.72 !important;
}

/* Mini mapa: las habitaciones existentes no descubiertas mantienen fondo verde y piloto apagado. */
.nv-mini-hidden{
  background:linear-gradient(180deg,#25442e,#132319) !important;
  border-color:rgba(126,180,134,.24) !important;
}
.nv-mini-hidden::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:28% !important;
  height:28% !important;
  min-width:4px !important;
  min-height:4px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  background:#1b241f !important;
  border:1px solid rgba(190,220,195,.30) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.86) !important;
  opacity:.72 !important;
}
.nv-mini-hidden::after{display:none !important;}

/* Habitaciones importantes descubiertas: fondo amarillo + punto azul central. */
.nv-mini-open.nv-mini-room-important,
.nv-mini-room-important{
  background:linear-gradient(180deg,#ffe577,#c69213) !important;
  border-color:rgba(66,165,255,.42) !important;
}
.nv-mini-open.nv-mini-room-important.nv-mini-important-dot::after,
.nv-mini-room-important.nv-mini-important-dot::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:38% !important;
  height:38% !important;
  min-width:5px !important;
  min-height:5px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  background:#42a5ff !important;
  box-shadow:0 0 8px rgba(66,165,255,.95),0 0 0 2px rgba(2,18,35,.48) !important;
}

/* Posición actual del EcoMuñ: recuperar cuadro visible por encima del color de la sala. */
.nv-mini-current{
  outline:3px solid #fff48a !important;
  outline-offset:1px !important;
  box-shadow:0 0 0 2px rgba(0,0,0,.74),0 0 16px rgba(255,244,138,.62) !important;
  z-index:3 !important;
}
.nv-mini-current::before{
  content:"" !important;
  position:absolute !important;
  inset:2px !important;
  border:2px solid rgba(255,255,255,.92) !important;
  border-radius:3px !important;
  background:transparent !important;
  box-shadow:inset 0 0 8px rgba(255,255,255,.34) !important;
  transform:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  opacity:1 !important;
}
.nv-mini-current.nv-mini-important-dot::after{z-index:4 !important;}

/* === PCLAU_030 · Base del EcoMuñ con piloto morado sincronizado === */
.nv-side-doors .nv-door-status-base::before,
.nv-side-doors .nv-door-static-muted.nv-door-status-base::before{
  display:block !important;
  background:#a970ff !important;
  box-shadow:0 0 13px rgba(169,112,255,.88),0 0 0 3px rgba(169,112,255,.20) !important;
}
.nv-side-doors .nv-door-status-base{border-color:rgba(169,112,255,.46) !important;}

.nv-grid-door.is-base .door-light{
  display:block !important;
  background:#a970ff !important;
  box-shadow:0 0 13px rgba(169,112,255,.95),0 0 0 3px rgba(169,112,255,.21) !important;
}
.nv-grid-door.is-base .door-frame{
  box-shadow:inset 0 0 0 3px rgba(169,112,255,.18),0 8px 18px rgba(0,0,0,.32) !important;
}

.nv-mini-open.nv-mini-room-base,
.nv-mini-room-base{
  background:linear-gradient(180deg,#ffe577,#c69213) !important;
  border-color:rgba(169,112,255,.46) !important;
}
.nv-mini-open.nv-mini-room-base.nv-mini-base-dot::after,
.nv-mini-room-base.nv-mini-base-dot::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:38% !important;
  height:38% !important;
  min-width:5px !important;
  min-height:5px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  background:#a970ff !important;
  box-shadow:0 0 9px rgba(169,112,255,.96),0 0 0 2px rgba(28,10,48,.48) !important;
}
.nv-mini-current.nv-mini-base-dot::after{z-index:4 !important;}

.nv-system-log-list .nv-system-log-item.nv-system-log-base,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-base,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-base{
  background:linear-gradient(135deg,#a970ff,#7d48d8) !important;
  border-color:rgba(218,197,255,.66) !important;
  color:#fffaff !important;
  text-shadow:none !important;
}
.nv-system-log-list .nv-system-log-item.nv-system-log-base time,
.nv-system-log-list-side .nv-system-log-item.nv-system-log-base time,
.nv-system-log-list-modal .nv-system-log-item.nv-system-log-base time{color:rgba(255,250,255,.80) !important;}
.nv-ajax-notice.base,
.nv-flash-base,
.nv-flash.nv-flash-base.nv-flash-toast{
  background:linear-gradient(135deg,#a970ff,#7d48d8) !important;
  border-color:rgba(218,197,255,.72) !important;
  color:#fffaff !important;
}


/* === PCLAU_031 · Piloto superior de puerta: mayor tamaño, ligera bajada y halo exterior difuso === */
.nv-grid-door .door-light{
  width:14px !important;
  height:14px !important;
  border-radius:999px !important;
  z-index:2 !important;
}
.nv-grid-door .door-light::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:100% !important;
  height:100% !important;
  transform:translate(-50%,-50%) scale(1.42) !important;
  border-radius:999px !important;
  background:inherit !important;
  opacity:.22 !important;
  filter:blur(3px) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}
.nv-grid-door-north .door-light{ top:8.5% !important; }
.nv-grid-door-west  .door-light{ top:8.5% !important; }
.nv-grid-door-south .door-light{ top:42.5% !important; }
.nv-grid-door-east  .door-light{ top:42.5% !important; }

.nv-grid-door{
  --door-hue:0deg;
  --door-sat:1.14;
  --door-bright:1;
}
.nv-grid-door.nv-grid-door-north .door-frame,
.nv-grid-door.nv-grid-door-west .door-frame,
.nv-grid-door.nv-grid-door-south .door-frame,
.nv-grid-door.nv-grid-door-east .door-frame,
.nv-grid-door.is-base .door-frame,
.nv-grid-door.is-important .door-frame,
.nv-grid-door.is-cultivation .door-frame,
.nv-grid-door.is-passage .door-frame,
.nv-grid-door.is-visited .door-frame,
.nv-grid-door.is-unknown .door-frame,
.nv-grid-door.is-locked .door-frame,
.nv-grid-door.is-wall .door-frame,
.nv-grid-door.is-blocked .door-frame{
  background:url('UN-LUGAR-ECO-VERDE.svg?v=PCLAU_034') no-repeat transparent !important;
  background-size:5.572% 21% !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:hue-rotate(var(--door-hue)) saturate(var(--door-sat)) brightness(var(--door-bright)) !important;
}
.nv-grid-door.nv-grid-door-north .door-frame::before,
.nv-grid-door.nv-grid-door-north .door-frame::after,
.nv-grid-door.nv-grid-door-west .door-frame::before,
.nv-grid-door.nv-grid-door-west .door-frame::after,
.nv-grid-door.nv-grid-door-south .door-frame::before,
.nv-grid-door.nv-grid-door-south .door-frame::after,
.nv-grid-door.nv-grid-door-east .door-frame::before,
.nv-grid-door.nv-grid-door-east .door-frame::after{content:none !important;}
.nv-grid-door.nv-grid-door-north .door-frame{
  background-image:url('UN-LUGAR-ECO-VERDE-N.svg?v=PCLAU_034') !important;
  background-position:70.65% 7.05% !important;
  transform-origin:66.714% 5.571% !important;
  transform:skewY(33.18deg) !important;
}
.nv-grid-door.nv-grid-door-west .door-frame{
  background-position:29.35% 13.20% !important;
  transform-origin:27.714% 10.429% !important;
  transform:skewY(-33.18deg) !important;
}
.nv-grid-door.nv-grid-door-south .door-frame{
  background-position:29.35% 42.20% !important;
  transform-origin:27.714% 39.571% !important;
  transform:skewY(33.18deg) !important;
}
.nv-grid-door.nv-grid-door-east .door-frame{
  background-image:url('UN-LUGAR-ECO-VERDE-N.svg?v=PCLAU_034') !important;
  background-position:70.65% 42.20% !important;
  transform-origin:72.286% 39.571% !important;
  transform:skewY(-33.18deg) !important;
}
.nv-grid-door.nv-grid-door-north button{
  filter:drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #181009) drop-shadow(2.20px -1.44px 0 #46311d) drop-shadow(2.20px -1.44px 0 #46311d) drop-shadow(2.20px -1.44px 0 #46311d) drop-shadow(1.54px -1.01px 0 rgba(255,238,206,.55)) !important;
  transform:translate(-5.25px,5.25px) !important;
}
.nv-grid-door.nv-grid-door-west button{
  filter:drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #181009) drop-shadow(-2.20px -1.44px 0 #46311d) drop-shadow(-2.20px -1.44px 0 #46311d) drop-shadow(-2.20px -1.44px 0 #46311d) drop-shadow(-1.54px -1.01px 0 rgba(255,238,206,.55)) !important;
  transform:translate(5.25px,5.25px) !important;
}
.nv-grid-door.nv-grid-door-south button{
  filter:drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #181009) drop-shadow(-2.20px 1.44px 0 #46311d) drop-shadow(-2.20px 1.44px 0 #46311d) drop-shadow(-2.20px 1.44px 0 #46311d) drop-shadow(-1.54px 1.01px 0 rgba(255,238,206,.55)) !important;
  transform:translate(10.5px,-10.5px) !important;
}
.nv-grid-door.nv-grid-door-east button{
  filter:drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #181009) drop-shadow(2.20px 1.44px 0 #46311d) drop-shadow(2.20px 1.44px 0 #46311d) drop-shadow(2.20px 1.44px 0 #46311d) drop-shadow(1.54px 1.01px 0 rgba(255,238,206,.55)) !important;
  transform:translate(-10.5px,-10.5px) !important;
}


/* === PCLAU_034 · Puertas frontales sur/este transparentes, sin color ni modelo BASE === */
.nv-grid-door.nv-grid-door-south button,
.nv-grid-door.nv-grid-door-east button{
  filter:none !important;
  transform:none !important;
}
.nv-grid-door.nv-grid-door-south .door-frame,
.nv-grid-door.nv-grid-door-east .door-frame,
.nv-grid-door.nv-grid-door-south.is-base .door-frame,
.nv-grid-door.nv-grid-door-east.is-base .door-frame,
.nv-grid-door.nv-grid-door-south.is-important .door-frame,
.nv-grid-door.nv-grid-door-east.is-important .door-frame,
.nv-grid-door.nv-grid-door-south.is-cultivation .door-frame,
.nv-grid-door.nv-grid-door-east.is-cultivation .door-frame,
.nv-grid-door.nv-grid-door-south.is-passage .door-frame,
.nv-grid-door.nv-grid-door-east.is-passage .door-frame,
.nv-grid-door.nv-grid-door-south.is-visited .door-frame,
.nv-grid-door.nv-grid-door-east.is-visited .door-frame,
.nv-grid-door.nv-grid-door-south.is-unknown .door-frame,
.nv-grid-door.nv-grid-door-east.is-unknown .door-frame,
.nv-grid-door.nv-grid-door-south.is-locked .door-frame,
.nv-grid-door.nv-grid-door-east.is-locked .door-frame,
.nv-grid-door.nv-grid-door-south.is-wall .door-frame,
.nv-grid-door.nv-grid-door-east.is-wall .door-frame,
.nv-grid-door.nv-grid-door-south.is-blocked .door-frame,
.nv-grid-door.nv-grid-door-east.is-blocked .door-frame{
  background:rgba(180,225,195,.055) !important;
  background-image:none !important;
  background-size:auto !important;
  background-position:center !important;
  border:2px solid rgba(220,245,228,.68) !important;
  border-radius:1px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
  filter:none !important;
}
.nv-grid-door.nv-grid-door-south .door-frame{transform:skewY(33.18deg) !important;}
.nv-grid-door.nv-grid-door-east .door-frame{transform:skewY(-33.18deg) !important;}
.nv-grid-door.nv-grid-door-south .door-frame::before,
.nv-grid-door.nv-grid-door-south .door-frame::after,
.nv-grid-door.nv-grid-door-east .door-frame::before,
.nv-grid-door.nv-grid-door-east .door-frame::after{content:none !important;}

/* === PCLAU_035 · Estanterías temáticas por tipo de habitación === */
.nv-room-decor-context .nv-scene-decor-context{
  position:absolute !important;
  inset:0 !important;
  z-index:6 !important;
  pointer-events:none !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf{
  position:absolute !important;
  width:10.2% !important;
  height:12% !important;
  border-radius:4px !important;
  border:2px solid #332113 !important;
  background:
    linear-gradient(160deg, rgba(255,241,214,.20), transparent 40%),
    linear-gradient(180deg,#8c673f 0%,#6c4a2c 55%,#4e3520 100%) !important;
  overflow:visible !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf::before,
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf::after{
  content:"" !important;
  position:absolute !important;
  left:10% !important;
  right:10% !important;
  height:4px !important;
  background:#392514 !important;
  box-shadow:0 1px 0 rgba(255,236,210,.20) !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf::before{top:34% !important;}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf::after{top:66% !important;}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf-left{
  left:13.5% !important;
  top:49.5% !important;
  width:10% !important;
  height:11.5% !important;
  transform:skewY(-33deg) !important;
  box-shadow:-3px -4px 0 #2b1c10,-6px -8px 0 #2b1c10,-9px -12px 0 #402a17,-12px -16px 0 #402a17,inset 0 2px 0 rgba(255,239,214,.50) !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf-right{
  right:13.5% !important;
  top:49.5% !important;
  width:10% !important;
  height:11.5% !important;
  transform:skewY(33deg) !important;
  box-shadow:3px -4px 0 #2b1c10,6px -8px 0 #2b1c10,9px -12px 0 #402a17,12px -16px 0 #402a17,inset 0 2px 0 rgba(255,239,214,.50) !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf .shelf-piece{
  position:absolute !important;
  display:block !important;
  bottom:10% !important;
  border-radius:3px !important;
}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf .shelf-piece-a{left:9% !important;}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf .shelf-piece-b{left:33% !important;}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf .shelf-piece-c{left:56% !important;}
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf .shelf-piece-d{left:74% !important;}

/* Paquetes / almacenes */
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece{
  background:linear-gradient(180deg,#c99a62 0%,#ad7944 100%) !important;
  border:1px solid rgba(83,47,18,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,239,207,.40) !important;
}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece::before{
  content:"" !important;
  position:absolute !important;
  left:40% !important;
  top:0 !important;
  bottom:0 !important;
  width:20% !important;
  background:rgba(236,219,165,.70) !important;
}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-a{width:20% !important;height:18% !important;bottom:13% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-b{width:18% !important;height:29% !important;bottom:39% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-c{width:16% !important;height:20% !important;bottom:13% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-d{width:14% !important;height:14% !important;bottom:40% !important;}

/* Plantas / cultivos */
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece{
  width:16% !important;
  height:18% !important;
  background:linear-gradient(180deg,#7e5637 0%,#9d714d 52%,#64442b 100%) !important;
  border:1px solid rgba(64,36,18,.76) !important;
  border-radius:3px 3px 6px 6px !important;
  box-shadow:inset 0 1px 0 rgba(255,237,210,.36) !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:82% !important;
  width:145% !important;
  height:105% !important;
  transform:translateX(-50%) !important;
  background:radial-gradient(circle at 50% 85%,#7dd16c 0 22%,transparent 23%),radial-gradient(circle at 22% 66%,#4cae49 0 18%,transparent 19%),radial-gradient(circle at 78% 62%,#5fbf57 0 18%,transparent 19%),radial-gradient(circle at 40% 20%,#3f9542 0 16%,transparent 17%),radial-gradient(circle at 64% 18%,#68c85c 0 15%,transparent 16%) !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-a{height:17% !important;bottom:13% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-b{height:18% !important;bottom:42% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-c{height:20% !important;bottom:13% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-d{height:16% !important;bottom:42% !important;}

/* Herramientas / laboratorios */
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece{border:1px solid rgba(39,49,56,.70) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35) !important;}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-a{
  width:24% !important;height:14% !important;bottom:13% !important;
  background:linear-gradient(180deg,#6e8790,#4d6067) !important;
  border-radius:4px !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-a::before{
  content:"" !important;position:absolute !important;left:25% !important;right:25% !important;top:-38% !important;height:38% !important;border:2px solid #50646c !important;border-bottom:0 !important;border-radius:8px 8px 0 0 !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-b{
  width:12% !important;height:28% !important;bottom:40% !important;background:linear-gradient(180deg,#e1eef2,#92abb4) !important;border-radius:3px 3px 5px 5px !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-b::before{
  content:"" !important;position:absolute !important;left:28% !important;right:28% !important;top:-18% !important;height:18% !important;background:#d7edf5 !important;border-radius:5px 5px 0 0 !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-c{
  width:14% !important;height:19% !important;bottom:13% !important;background:linear-gradient(180deg,#d4dccf,#8ea08e) !important;border-radius:2px 2px 6px 6px !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-c::before{
  content:"" !important;position:absolute !important;left:18% !important;right:18% !important;top:-28% !important;height:28% !important;background:#bac9bb !important;clip-path:polygon(0 100%,100% 100%,70% 0,30% 0) !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-d{
  width:16% !important;height:7% !important;bottom:47% !important;background:linear-gradient(180deg,#f2c85e,#b98918) !important;border-radius:999px !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-d::before{
  content:"" !important;position:absolute !important;left:42% !important;top:-55% !important;width:16% !important;height:155% !important;background:#6e8087 !important;border-radius:999px !important;transform:rotate(34deg) !important;transform-origin:bottom center !important;
}


/* === PCLAU_036 · Texturas/estilos de estanterías similares a referencias del usuario === */
/* Base contextual más rica: permite que cada tipología tenga su propio armazón y textura. */
.nv-room-decor-context .nv-scene-decor-context .nv-decor-shelf{
  isolation:isolate !important;
}

/* ===== ALMACÉN · estantería metálica gris con cajas ===== */
.nv-decor-kind-packages .nv-decor-shelf{
  border:2px solid #8d98a0 !important;
  border-radius:10px !important;
  background:linear-gradient(180deg,#c8d0d7 0%,#aeb7bf 45%,#939ea8 100%) !important;
}
.nv-decor-kind-packages .nv-decor-shelf::before,
.nv-decor-kind-packages .nv-decor-shelf::after{
  left:6% !important;
  right:6% !important;
  height:8px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#bfc7ce,#8f99a3) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 1px 0 rgba(52,62,69,.32) !important;
}
.nv-decor-kind-packages .nv-decor-shelf::before{top:35% !important;}
.nv-decor-kind-packages .nv-decor-shelf::after{top:68% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece{
  background:linear-gradient(180deg,#ead8b0 0%,#deca9b 100%) !important;
  border:1px solid rgba(132,98,46,.78) !important;
  border-radius:5px !important;
  box-shadow:0 3px 6px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,247,223,.5) !important;
}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece::before{
  content:"" !important;
  position:absolute !important;
  left:58% !important;
  top:10% !important;
  width:26% !important;
  height:20% !important;
  background:#ecebea !important;
  border:1px solid rgba(185,180,175,.72) !important;
  border-radius:1px !important;
}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-a{width:26% !important;height:20% !important;bottom:12% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-b{width:20% !important;height:17% !important;bottom:43% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-c{width:28% !important;height:22% !important;bottom:12% !important;}
.nv-decor-kind-packages .nv-decor-shelf .shelf-piece-d{width:18% !important;height:16% !important;bottom:42% !important;}

/* ===== CULTIVO · estantería de madera con macetas y plantas / orquídeas ===== */
.nv-decor-kind-plants .nv-decor-shelf{
  border:2px solid #7a5737 !important;
  border-radius:4px !important;
  background:
    linear-gradient(90deg, rgba(95,62,37,.34) 0 6%, transparent 6% 94%, rgba(95,62,37,.34) 94% 100%),
    linear-gradient(180deg,#d6ad78 0%,#bc8e57 48%,#95663d 100%) !important;
  box-shadow:inset 0 2px 0 rgba(255,234,199,.42) !important;
}
.nv-decor-kind-plants .nv-decor-shelf::before,
.nv-decor-kind-plants .nv-decor-shelf::after{
  left:7% !important;
  right:7% !important;
  height:6px !important;
  border-radius:2px !important;
  background:linear-gradient(180deg,#d9b17c,#8a5e37) !important;
  box-shadow:inset 0 1px 0 rgba(255,239,213,.36) !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece{
  width:17% !important;
  background:linear-gradient(180deg,#ba6f3b 0%,#c7844b 58%,#8f532c 100%) !important;
  border:1px solid rgba(93,51,22,.82) !important;
  border-radius:3px 3px 7px 7px !important;
  box-shadow:0 3px 5px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,223,192,.30) !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:78% !important;
  width:155% !important;
  height:118% !important;
  transform:translateX(-50%) !important;
  background:
    radial-gradient(circle at 50% 92%, #7cc35f 0 21%, transparent 22%),
    radial-gradient(circle at 21% 68%, #4eaa46 0 17%, transparent 18%),
    radial-gradient(circle at 78% 66%, #61bf57 0 17%, transparent 18%),
    radial-gradient(circle at 42% 25%, #3f9542 0 14%, transparent 15%),
    radial-gradient(circle at 62% 18%, #8ccf6d 0 15%, transparent 16%) !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-b::before,
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-d::before{
  content:"" !important;
  position:absolute !important;
  left:46% !important;
  bottom:100% !important;
  width:9% !important;
  height:78% !important;
  background:#4f5448 !important;
  transform:rotate(-2deg) !important;
  border-radius:999px !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-b::after,
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-d::after{
  background:
    radial-gradient(circle at 48% 18%, #ea86c3 0 20%, transparent 21%),
    radial-gradient(circle at 26% 26%, #f0a1d3 0 16%, transparent 17%),
    radial-gradient(circle at 72% 27%, #d96ab0 0 16%, transparent 17%),
    radial-gradient(circle at 50% 94%, #6dbf55 0 13%, transparent 14%) !important;
  height:132% !important;
}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-a{height:17% !important;bottom:12% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-b{height:18% !important;bottom:42% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-c{height:18% !important;bottom:12% !important;}
.nv-decor-kind-plants .nv-decor-shelf .shelf-piece-d{height:18% !important;bottom:42% !important;}

/* ===== LABORATORIO · mueble claro con libros, tarros y material ===== */
.nv-decor-kind-tools .nv-decor-shelf{
  border:2px solid #d9c29c !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#efddbe 0%,#dcc39c 52%,#c9ae88 100%) !important;
  box-shadow:inset 0 2px 0 rgba(255,249,236,.58) !important;
}
.nv-decor-kind-tools .nv-decor-shelf::before,
.nv-decor-kind-tools .nv-decor-shelf::after{
  left:8% !important;
  right:8% !important;
  height:6px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f3e3c8,#cfb187) !important;
  box-shadow:inset 0 1px 0 rgba(255,248,236,.6) !important;
}
/* fila superior tipo librería/material */
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-a,
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-b,
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-c{
  bottom:42% !important;
  border-radius:2px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-a{width:12% !important;height:22% !important;background:#ca59db !important;border:1px solid #a143af !important;}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-b{width:12% !important;height:22% !important;background:#a5cc57 !important;border:1px solid #7fa23d !important;}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-c{width:12% !important;height:22% !important;background:#efd35e !important;border:1px solid #bca441 !important;}
/* fila inferior tipo libro horizontal + frasco */
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-d{
  width:22% !important;
  height:10% !important;
  bottom:12% !important;
  background:linear-gradient(180deg,#ef5f48,#b43a2b) !important;
  border:1px solid rgba(122,35,26,.72) !important;
  border-radius:4px !important;
  box-shadow:0 2px 4px rgba(0,0,0,.12), inset 0 -3px 0 rgba(255,255,255,.7) !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-d::before{
  content:"" !important;
  position:absolute !important;
  right:-62% !important;
  bottom:8% !important;
  width:54% !important;
  height:170% !important;
  background:linear-gradient(180deg,#e8f2f5 0%,#9eb4be 70%,#78909c 100%) !important;
  border:1px solid rgba(88,105,112,.72) !important;
  border-radius:4px 4px 7px 7px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.nv-decor-kind-tools .nv-decor-shelf .shelf-piece-d::after{
  content:"" !important;
  position:absolute !important;
  right:-45% !important;
  bottom:148% !important;
  width:18% !important;
  height:18% !important;
  background:#e5eef1 !important;
  border-radius:999px !important;
}

/* === PCLAU_037 · Decoración retro acogedora para la habitación BASE === */
.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  pointer-events:none !important;
}
.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base > div,
.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base > span,
.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base *{
  position:absolute !important;
  box-sizing:border-box !important;
}
/* balda trasera con plantas */
.nv-base-back-shelf{
  left:31% !important;
  top:18.5% !important;
  width:34% !important;
  height:4.3% !important;
  border-radius:4px !important;
  background:linear-gradient(180deg,#b77732,#8d5824 100%) !important;
  box-shadow:0 2px 0 rgba(95,55,19,.55),0 10px 16px rgba(0,0,0,.14) !important;
  z-index:5 !important;
}
.nv-base-back-shelf::before,
.nv-base-back-shelf::after{
  content:"" !important;
  position:absolute !important;
  bottom:-42% !important;
  width:9% !important;
  height:60% !important;
  background:linear-gradient(180deg,#8f5926,#69411a) !important;
  clip-path:polygon(0 0,100% 0,60% 100%,0 100%) !important;
}
.nv-base-back-shelf::before{left:16% !important;}
.nv-base-back-shelf::after{right:16% !important;transform:scaleX(-1) !important;}
.nv-base-back-shelf .nv-shelf-pot{
  bottom:58% !important;
  width:13% !important;
  height:36% !important;
  background:linear-gradient(180deg,#cf7d3e,#9a5828) !important;
  border:1px solid rgba(101,57,28,.8) !important;
  border-radius:4px 4px 12px 12px !important;
  box-shadow:0 3px 5px rgba(0,0,0,.16) !important;
}
.nv-base-back-shelf .nv-shelf-pot::after{
  content:"" !important; left:50% !important; bottom:72% !important; width:170% !important; height:160% !important; transform:translateX(-50%) !important;
}
.nv-shelf-pot-ivy{left:2% !important;}
.nv-shelf-pot-ivy::after{background:radial-gradient(circle at 25% 70%,#8ec25b 0 16%,transparent 17%),radial-gradient(circle at 60% 48%,#6aad47 0 16%,transparent 17%),radial-gradient(circle at 75% 30%,#7db856 0 16%,transparent 17%),radial-gradient(circle at 12% 28%,#a5cc75 0 16%,transparent 17%) !important;}
.nv-shelf-pot-ivy::before{content:"" !important; left:-26% !important; top:80% !important; width:28% !important; height:145% !important; background:radial-gradient(circle at 70% 10%,#87c85f 0 12%,transparent 13%),radial-gradient(circle at 44% 34%,#70b54c 0 12%,transparent 13%),radial-gradient(circle at 68% 58%,#7cc35b 0 12%,transparent 13%),radial-gradient(circle at 38% 84%,#6db34a 0 12%,transparent 13%) !important;}
.nv-shelf-pot-leaf{left:26% !important;}
.nv-shelf-pot-leaf::after{background:radial-gradient(ellipse at 50% 88%,#7fc95a 0 18%,transparent 19%),radial-gradient(ellipse at 24% 54%,#5fb84e 0 17%,transparent 18%),radial-gradient(ellipse at 76% 54%,#5db14b 0 17%,transparent 18%),radial-gradient(ellipse at 38% 24%,#7bcf5e 0 16%,transparent 17%),radial-gradient(ellipse at 62% 18%,#6ec456 0 16%,transparent 17%) !important;}
.nv-shelf-pot-orchid{left:49% !important;}
.nv-shelf-pot-orchid::before{content:"" !important; left:46% !important; bottom:108% !important; width:5% !important; height:115% !important; background:#59614d !important; border-radius:999px !important; box-shadow:-28px 8px 0 #59614d, 26px 6px 0 #59614d !important;}
.nv-shelf-pot-orchid::after{background:radial-gradient(circle at 50% 16%,#f4a1dc 0 13%,transparent 14%),radial-gradient(circle at 35% 28%,#ea83cd 0 12%,transparent 13%),radial-gradient(circle at 66% 28%,#ef95d7 0 12%,transparent 13%),radial-gradient(circle at 24% 46%,#d96bb7 0 11%,transparent 12%),radial-gradient(circle at 76% 44%,#d96bb7 0 11%,transparent 12%),radial-gradient(circle at 50% 60%,#ef9ed9 0 12%,transparent 13%) !important; height:180% !important;}
.nv-shelf-pot-bush{left:74% !important; width:11% !important;}
.nv-shelf-pot-bush::after{background:radial-gradient(circle at 25% 65%,#6bb34e 0 14%,transparent 15%),radial-gradient(circle at 56% 46%,#89c662 0 14%,transparent 15%),radial-gradient(circle at 74% 25%,#73bc54 0 14%,transparent 15%),radial-gradient(circle at 24% 18%,#8ecf69 0 12%,transparent 13%) !important;}
.nv-shelf-pot-bush::before{content:"" !important; right:-28% !important; top:82% !important; width:28% !important; height:122% !important; background:radial-gradient(circle at 30% 10%,#7bc459 0 12%,transparent 13%),radial-gradient(circle at 54% 34%,#66af48 0 12%,transparent 13%),radial-gradient(circle at 30% 58%,#8ecc69 0 12%,transparent 13%) !important;}
/* poster */
.nv-base-wall-poster{
  right:20.5% !important; top:19% !important; width:10% !important; height:18% !important; transform:skewY(33deg) !important;
  border:2px solid #181818 !important; border-radius:4px !important; background:linear-gradient(180deg,#253133,#12171a) !important; box-shadow:1px 1px 0 #272727,2px 2px 0 #272727,-8px 10px 12px rgba(0,0,0,.28) !important; z-index:5 !important;
}
.nv-base-wall-poster span{position:absolute !important; inset:8% !important; color:#44d6ff !important; font-weight:1000 !important; font-size:.82rem !important; line-height:.98 !important; text-align:center !important; text-shadow:0 0 6px rgba(68,214,255,.28) !important;}
.nv-base-wall-poster span::after{content:"" !important; position:absolute !important; left:50% !important; top:38% !important; width:36% !important; height:18% !important; transform:translateX(-50%) !important; background:linear-gradient(180deg,#55db57,#2aab3a) !important; clip-path:polygon(12% 0,88% 0,88% 28%,68% 28%,68% 56%,100% 56%,100% 100%,0 100%,0 56%,32% 56%,32% 28%,12% 28%) !important;}
/* mueble cubby */
.nv-base-cubby{
  right:13.8% !important; top:46% !important; width:12.8% !important; height:18% !important; transform:skewY(33deg) !important;
  border:2px solid #cdb488 !important; border-radius:6px !important; background:linear-gradient(180deg,#e5cfaa,#c8ae85) !important; box-shadow:1px 1px 0 #aa9169,2px 2px 0 #aa9169,-10px 14px 14px rgba(0,0,0,.22) !important; z-index:4 !important;
}
.nv-base-cubby::before{content:"" !important; left:50% !important; top:14% !important; bottom:10% !important; width:2px !important; transform:translateX(-50%) !important; background:rgba(147,117,75,.8) !important;}
.nv-base-cubby::after{content:"" !important; left:10% !important; right:10% !important; top:52% !important; height:2px !important; background:rgba(147,117,75,.8) !important;}
.nv-cubby-box{border-radius:3px !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2) !important;}
.nv-cubby-box-green{left:14% !important; top:16% !important; width:28% !important; height:28% !important; background:linear-gradient(180deg,#6cb343,#497c2f) !important;}
.nv-cubby-books{right:12% !important; top:56% !important; width:30% !important; height:18% !important; background:linear-gradient(90deg,#7dbe45 0 25%,#4fa3df 25% 55%,#c070d3 55% 100%) !important; border-radius:2px !important;}
.nv-cubby-box-purple{right:12% !important; top:18% !important; width:30% !important; height:26% !important; background:linear-gradient(180deg,#8359c7,#5f3d9d) !important; border-radius:4px !important;}
.nv-cubby-top-plant{left:16% !important; top:-18% !important; width:23% !important; height:18% !important; background:linear-gradient(180deg,#bf743a,#945021) !important; border:1px solid rgba(91,52,24,.78) !important; border-radius:4px 4px 8px 8px !important;}
.nv-cubby-top-plant::after{content:"" !important; left:50% !important; bottom:72% !important; width:168% !important; height:170% !important; transform:translateX(-50%) !important; background:radial-gradient(circle at 50% 85%,#68b94d 0 20%,transparent 21%),radial-gradient(circle at 26% 60%,#4ea140 0 16%,transparent 17%),radial-gradient(circle at 75% 61%,#72c155 0 16%,transparent 17%) !important;}
.nv-cubby-quest{right:6% !important; top:-23% !important; width:28% !important; height:24% !important; border-radius:6px !important; background:linear-gradient(180deg,#f3cb4f,#d4a223) !important; border:1px solid rgba(157,114,18,.82) !important; box-shadow:0 4px 8px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,244,180,.54) !important;}
.nv-cubby-quest::before{content:"?" !important; left:50% !important; top:50% !important; transform:translate(-50%,-54%) !important; color:#fff3ba !important; font-weight:1000 !important; font-size:1rem !important; text-shadow:0 1px 0 rgba(128,85,10,.55) !important;}
/* arcade */
.nv-base-arcade{
  right:1.8% !important; top:28% !important; width:14% !important; height:42% !important; z-index:4 !important;
  background:linear-gradient(180deg,#273038,#171d22 65%,#0f1317 100%) !important; border:2px solid #1b2025 !important; border-radius:8px 8px 10px 10px !important;
  box-shadow:-14px 20px 18px rgba(0,0,0,.26), inset 0 0 0 2px rgba(57,131,214,.65) !important;
  clip-path:polygon(18% 0,100% 0,100% 100%,12% 100%,0 74%,0 16%) !important;
}
.nv-base-arcade::before{content:"" !important; left:-2% !important; top:0 !important; bottom:0 !important; width:12% !important; background:linear-gradient(180deg,#4aa0f5,#2b6fb2) !important; clip-path:polygon(100% 0,100% 100%,0 84%,0 16%) !important;}
.nv-base-arcade .nv-arcade-marquee{left:24% !important; top:5% !important; width:62% !important; height:10% !important; color:#f2c34a !important; font-size:.58rem !important; font-weight:1000 !important; line-height:1 !important; text-align:center !important;}
.nv-base-arcade .nv-arcade-screen{left:24% !important; top:17% !important; width:56% !important; height:24% !important; border-radius:4px !important; background:radial-gradient(circle at 18% 20%,#65f46d 0 2%,transparent 2.4%),radial-gradient(circle at 66% 26%,#65f46d 0 2%,transparent 2.4%),radial-gradient(circle at 78% 44%,#65f46d 0 2%,transparent 2.4%),radial-gradient(circle at 42% 72%,#5ed3ff 0 2.2%,transparent 2.6%),linear-gradient(180deg,#0b1214,#172428) !important; border:1px solid rgba(48,86,94,.8) !important; box-shadow:inset 0 0 18px rgba(0,0,0,.7) !important;}
.nv-base-arcade .nv-arcade-stick{left:30% !important; top:49% !important; width:9% !important; height:18% !important;}
.nv-base-arcade .nv-arcade-stick::before{content:"" !important; left:44% !important; top:0 !important; width:12% !important; height:65% !important; background:#1e2328 !important; border-radius:999px !important;}
.nv-base-arcade .nv-arcade-stick::after{content:"" !important; left:22% !important; top:-10% !important; width:56% !important; height:22% !important; background:#d54d3d !important; border-radius:999px !important;}
.nv-base-arcade .nv-arcade-buttons{right:14% !important; top:53% !important; width:28% !important; height:10% !important; background:radial-gradient(circle at 15% 50%,#e24c43 0 16%,transparent 17%),radial-gradient(circle at 45% 55%,#eac54d 0 16%,transparent 17%),radial-gradient(circle at 75% 47%,#5eb7ff 0 16%,transparent 17%),radial-gradient(circle at 58% 88%,#5ec15d 0 16%,transparent 17%) !important;}
/* rug */
.nv-base-rug{
  left:44% !important; top:70% !important; width:25% !important; height:12% !important; z-index:3 !important;
  transform:translate(-50%,-50%) rotateZ(45deg) scaleY(.58) !important; border-radius:12px !important;
  background:linear-gradient(90deg,#476b2e 0 25%,#527937 25% 50%,#41642d 50% 75%,#507534 75% 100%) !important;
  box-shadow:0 6px 12px rgba(0,0,0,.16) !important;
}
/* table */
.nv-base-table{
  left:43% !important; top:67.5% !important; width:18% !important; height:10.5% !important; z-index:5 !important;
  background:linear-gradient(180deg,#b97835,#84531f) !important; border:2px solid rgba(99,61,26,.78) !important; border-radius:6px !important;
  transform:translate(-50%,-50%) !important; box-shadow:0 12px 18px rgba(0,0,0,.22) !important;
}
.nv-base-table::before,
.nv-base-table::after{content:"" !important; bottom:-34% !important; width:8% !important; height:36% !important; background:#72481e !important; border-radius:2px !important;}
.nv-base-table::before{left:14% !important; box-shadow:200% 0 0 #72481e !important;}
.nv-base-table::after{right:14% !important; box-shadow:-200% 0 0 #72481e !important;}
.nv-table-bowl{left:42% !important; top:17% !important; width:18% !important; height:30% !important; background:linear-gradient(180deg,#c94b36,#8f271c) !important; border-radius:0 0 14px 14px !important;}
.nv-table-bowl::before{content:"" !important; left:-8% !important; right:-8% !important; top:-16% !important; height:28% !important; background:#dfb458 !important; border-radius:999px !important;}
.nv-table-bowl::after{content:"" !important; left:12% !important; top:4% !important; width:76% !important; height:44% !important; background:radial-gradient(circle at 18% 35%,#f5e0b0 0 10%,transparent 11%),radial-gradient(circle at 40% 28%,#f5e0b0 0 10%,transparent 11%),radial-gradient(circle at 68% 35%,#f5e0b0 0 10%,transparent 11%),radial-gradient(circle at 30% 70%,#f5e0b0 0 10%,transparent 11%),radial-gradient(circle at 56% 66%,#f5e0b0 0 10%,transparent 11%) !important;}
.nv-table-can{left:14% !important; top:23% !important; width:7% !important; height:26% !important; background:linear-gradient(180deg,#77b53f,#4e7f26) !important; border-radius:3px !important;}
.nv-table-can::after{content:"" !important; left:18% !important; right:18% !important; top:18% !important; bottom:18% !important; background:linear-gradient(135deg,transparent 35%,#f1cf4c 35% 55%,transparent 55%) !important;}
.nv-table-pad{right:12% !important; top:25% !important; width:10% !important; height:16% !important; background:#2e3337 !important; border-radius:8px !important;}
.nv-table-pad::before,.nv-table-pad::after{content:"" !important; top:32% !important; width:18% !important; height:18% !important; background:#1f2326 !important; border-radius:999px !important;}
.nv-table-pad::before{left:22% !important; box-shadow:38% 0 0 #1f2326 !important;}
.nv-table-pad::after{right:18% !important; box-shadow:-34% 0 0 #1f2326 !important;}
/* sofa */
.nv-base-sofa{
  right:-1% !important; bottom:4% !important; width:25% !important; height:16% !important; z-index:4 !important;
  border-radius:18px 18px 8px 8px !important;
  background:linear-gradient(180deg,#de6642,#b84b2d) !important; box-shadow:-18px 14px 18px rgba(0,0,0,.20) !important;
}
.nv-base-sofa::before{content:"" !important; left:8% !important; right:6% !important; top:-14% !important; height:48% !important; border-radius:16px 16px 8px 8px !important; background:linear-gradient(180deg,#e17758,#c25135) !important;}
.nv-base-sofa::after{content:"" !important; left:-8% !important; top:4% !important; width:26% !important; height:68% !important; border-radius:16px 12px 10px 10px !important; background:linear-gradient(180deg,#d65f3f,#a9442b) !important;}
/* asegurar layering */
.nv-orchid-room.nv-room-base-retro .nv-grid-door{z-index:8 !important;}
.nv-orchid-room.nv-room-base-retro .nv-grid-avatar{z-index:12 !important;}
.nv-orchid-room.nv-room-base-retro .nv-floor-item{z-index:14 !important;}

.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base{
  z-index:7 !important;
  opacity:1 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-scene-decor-base *{
  opacity:1 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:17.8% !important;
  top:39.2% !important;
  width:15.8% !important;
  height:2.4% !important;
  transform:rotate(-41.1deg) !important;
  transform-origin:left center !important;
  z-index:7 !important;
  box-shadow:0 1px 0 rgba(95,55,19,.55),0 5px 8px rgba(0,0,0,.20) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  width:12% !important;
  height:28% !important;
  bottom:72% !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot::after{
  width:145% !important;
  height:120% !important;
}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-ivy{left:5% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-leaf{left:29% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-orchid{left:52% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-bush{left:76% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster{
  right:22.8% !important;
  top:30.5% !important;
  width:5.8% !important;
  height:10.5% !important;
  transform:skewY(33.18deg) scale(.92) !important;
  transform-origin:center center !important;
  z-index:7 !important;
  box-shadow:1px 1px 0 #272727,4px 6px 8px rgba(0,0,0,.22) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster span{
  font-size:.50rem !important;
  line-height:.96 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-cubby{
  right:26.2% !important;
  top:52.2% !important;
  width:7.2% !important;
  height:9.5% !important;
  transform:skewY(33.18deg) scale(.92) !important;
  transform-origin:center center !important;
  z-index:7 !important;
  box-shadow:1px 1px 0 #aa9169,2px 2px 0 #aa9169,4px 7px 9px rgba(0,0,0,.20) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-cubby-quest::before{
  font-size:.58rem !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade{
  right:13.8% !important;
  top:39.2% !important;
  width:6.7% !important;
  height:20.8% !important;
  transform:skewY(33.18deg) !important;
  transform-origin:center center !important;
  z-index:7 !important;
  border-radius:5px !important;
  box-shadow:4px 8px 10px rgba(0,0,0,.28), inset 0 0 0 1px rgba(57,131,214,.65) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-marquee{
  font-size:.36rem !important;
  top:6% !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-rug{
  left:49.5% !important;
  top:68.7% !important;
  width:15.8% !important;
  height:8.2% !important;
  transform:translate(-50%,-50%) rotateZ(45deg) scaleY(.58) !important;
  transform-origin:center center !important;
  z-index:5 !important;
  opacity:.62 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-table{
  left:48.8% !important;
  top:64.5% !important;
  width:11.2% !important;
  height:5.6% !important;
  transform:translate(-50%,-50%) rotateZ(45deg) scaleY(.58) !important;
  transform-origin:center center !important;
  z-index:8 !important;
  border-width:1px !important;
  box-shadow:0 5px 8px rgba(0,0,0,.22) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-table::before,
.nv-orchid-room.nv-room-base-retro .nv-base-table::after{
  display:none !important;
}
.nv-orchid-room.nv-room-base-retro .nv-table-bowl,
.nv-orchid-room.nv-room-base-retro .nv-table-can,
.nv-orchid-room.nv-room-base-retro .nv-table-pad{
  transform:rotateZ(-45deg) scaleY(1.72) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-table-bowl{width:13% !important;height:24% !important;top:19% !important;}
.nv-orchid-room.nv-room-base-retro .nv-table-can{width:5% !important;height:22% !important;top:25% !important;}
.nv-orchid-room.nv-room-base-retro .nv-table-pad{width:8% !important;height:13% !important;top:28% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-sofa{
  right:16.2% !important;
  bottom:14.4% !important;
  width:12.2% !important;
  height:5.4% !important;
  transform:rotateZ(-41.1deg) skewX(-8deg) !important;
  transform-origin:center center !important;
  border-radius:9px 9px 5px 5px !important;
  z-index:6 !important;
  box-shadow:5px 7px 9px rgba(0,0,0,.20) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-sofa::before{
  left:8% !important;
  right:8% !important;
  top:-34% !important;
  height:55% !important;
  border-radius:8px 8px 4px 4px !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-sofa::after{
  left:-7% !important;
  top:0 !important;
  width:22% !important;
  height:78% !important;
  border-radius:8px 5px 5px 5px !important;
}
.nv-orchid-room.nv-room-base-retro .nv-grid-door{z-index:10 !important;}
.nv-orchid-room.nv-room-base-retro .door-label{z-index:14 !important;}
.nv-orchid-room.nv-room-base-retro .nv-grid-avatar{z-index:15 !important;}
.nv-orchid-room.nv-room-base-retro .nv-floor-item{z-index:16 !important;}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-arcade,
  .nv-orchid-room.nv-room-base-retro .nv-base-cubby,
  .nv-orchid-room.nv-room-base-retro .nv-base-sofa{transform:scale(.82) !important;}
}


/* === PCLAU_039 · BASE: solo muebles de pared con pendiente 33.18° y extrusión isométrica === */
/* Fase de pared: se ocultan los elementos de suelo. Se mantiene la lógica de puertas/pilotos. */
.nv-orchid-room.nv-room-base-retro .nv-base-rug,
.nv-orchid-room.nv-room-base-retro .nv-base-table,
.nv-orchid-room.nv-room-base-retro .nv-base-sofa,
.nv-orchid-room.nv-room-base-retro .nv-base-arcade{
  display:none !important;
}

/* Variables geométricas de la sala: tan(33.18°) ≈ 0.654. */
.nv-orchid-room.nv-room-base-retro{
  --iso-wall-angle:33.18deg;
  --iso-ratio:.654;
  --wall-furn-near:#33200f;
  --wall-furn-far:#6f4821;
  --wall-furn-lip:rgba(255,232,192,.55);
  --wall-furn-shadow:rgba(0,0,0,.28);
}

/* PARED NORTE: mueble anclado al plano trasero, pendiente 33.18°, extrusión arriba + derecha. */
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:33.8% !important;
  top:26.4% !important;
  width:23.2% !important;
  height:3.2% !important;
  transform:skewY(var(--iso-wall-angle)) !important;
  transform-origin:left center !important;
  z-index:7 !important;
  border:1px solid #6d421d !important;
  border-radius:3px !important;
  background:linear-gradient(180deg,#c8873f 0%,#a4652c 58%,#774516 100%) !important;
  filter:
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(5px 7px 8px var(--wall-furn-shadow)) !important;
  box-shadow:inset 0 1px 0 rgba(255,232,190,.44) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before,
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{
  bottom:-72% !important;
  width:8% !important;
  height:80% !important;
  background:linear-gradient(180deg,#8a551f,#5b3515) !important;
  box-shadow:1.55px -1.01px 0 #3a2410,3.10px -2.03px 0 #5d391a !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  width:10.2% !important;
  height:38% !important;
  bottom:76% !important;
  transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.82) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(2px 3px 2px rgba(0,0,0,.24)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot::after{
  width:128% !important;
  height:106% !important;
}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-ivy{left:8% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-leaf{left:32% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-orchid{left:55% !important;}
.nv-orchid-room.nv-room-base-retro .nv-shelf-pot-bush{left:78% !important;}

/* PARED OESTE: mueble auxiliar y cartel anclados al plano oeste, pendiente 33.18°, extrusión arriba + izquierda. */
.nv-orchid-room.nv-room-base-retro .nv-base-cubby,
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster{
  transform:skewY(calc(-1 * var(--iso-wall-angle))) !important;
  transform-origin:center center !important;
  z-index:7 !important;
  filter:
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(-.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(-5px 7px 8px var(--wall-furn-shadow)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-cubby{
  left:17.6% !important;
  right:auto !important;
  top:33.8% !important;
  width:8.4% !important;
  height:12.8% !important;
  border:1px solid #bda27a !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#e6d3af 0%,#cdb188 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,249,230,.58) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-cubby::before{width:1px !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-cubby::after{height:1px !important;}
.nv-orchid-room.nv-room-base-retro .nv-cubby-top-plant,
.nv-orchid-room.nv-room-base-retro .nv-cubby-quest,
.nv-orchid-room.nv-room-base-retro .nv-cubby-box,
.nv-orchid-room.nv-room-base-retro .nv-cubby-books{
  transform:skewY(var(--iso-wall-angle)) !important;
  transform-origin:center center !important;
}
.nv-orchid-room.nv-room-base-retro .nv-cubby-quest::before{
  font-size:.52rem !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster{
  left:25.8% !important;
  right:auto !important;
  top:26.8% !important;
  width:5.6% !important;
  height:9.6% !important;
  border:1px solid #171717 !important;
  border-radius:3px !important;
  background:linear-gradient(180deg,#243133,#11181a) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster span{
  font-size:.46rem !important;
  line-height:.92 !important;
}

/* Mantener puertas y personaje por encima de los muebles de pared. */
.nv-orchid-room.nv-room-base-retro .nv-grid-door{z-index:10 !important;}
.nv-orchid-room.nv-room-base-retro .door-label{z-index:14 !important;}
.nv-orchid-room.nv-room-base-retro .nv-grid-avatar{z-index:15 !important;}
.nv-orchid-room.nv-room-base-retro .nv-floor-item{z-index:16 !important;}

@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-cubby,
  .nv-orchid-room.nv-room-base-retro .nv-base-wall-poster{
    transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.88) !important;
  }
  .nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
    transform:skewY(var(--iso-wall-angle)) scale(.9) !important;
  }
}


/* === PCLAU_041 · BASE: mover cuadro GAME ON a pared OESTE en U70,V10 ===
   Plano OESTE: x% = 11 + 0.39·u ; y% = 35.5 − 0.34·u + 0.27·v
   U70,V10 => x=38.3%, y=14.4%. Se usa como vértice superior izquierdo. */
.nv-orchid-room.nv-room-base-retro .nv-base-wall-poster{
  left:38.3% !important;
  top:14.4% !important;
  right:auto !important;
  transform:skewY(calc(-1 * var(--iso-wall-angle))) !important;
  transform-origin:left top !important;
}


/* === PCLAU_042 · BASE: mover estantería a pared OESTE en U100,V200 y reducir al 50% ===
   Plano OESTE: x% = 11 + 0.39·u ; y% = 35.5 − 0.34·u + 0.27·v
   U100,V200 => x=50.0%, y=55.5%. Se usa como vértice superior izquierdo.
   La estantería se ancla ahora al plano OESTE, con pendiente real 33.18° y extrusión arriba-izquierda.
*/
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:50.0% !important;
  top:55.5% !important;
  width:23.2% !important;
  height:3.2% !important;
  transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.5) !important;
  transform-origin:left top !important;
  z-index:7 !important;
  filter:
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(-1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(-.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(-5px 7px 8px var(--wall-furn-shadow)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before,
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{
  bottom:-72% !important;
  width:8% !important;
  height:80% !important;
  background:linear-gradient(180deg,#8a551f,#5b3515) !important;
  box-shadow:-1.55px -1.01px 0 #3a2410,-3.10px -2.03px 0 #5d391a !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before{left:16% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{right:16% !important;transform:scaleX(-1) !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  transform:skewY(var(--iso-wall-angle)) scale(.82) !important;
  transform-origin:center bottom !important;
}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
    transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.45) !important;
  }
}


/* === PCLAU_043 · BASE: mover estantería a pared NORTE en U20,V20 ===
   Plano NORTE: x% = 50 + 0.39·u ; y% = 1.5 + 0.34·u + 0.27·v
   U20,V20 => x=57.8%, y=13.7%. Se usa como vértice superior izquierdo.
   Se mantiene el tamaño actual (50%) y vuelve a pendiente/extrusión de pared NORTE.
*/
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:57.8% !important;
  top:13.7% !important;
  width:23.2% !important;
  height:3.2% !important;
  transform:skewY(var(--iso-wall-angle)) scale(.5) !important;
  transform-origin:left top !important;
  z-index:7 !important;
  filter:
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(5px 7px 8px var(--wall-furn-shadow)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before,
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{
  bottom:-72% !important;
  width:8% !important;
  height:80% !important;
  background:linear-gradient(180deg,#8a551f,#5b3515) !important;
  box-shadow:1.55px -1.01px 0 #3a2410,3.10px -2.03px 0 #5d391a !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before{left:16% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{right:16% !important;transform:scaleX(-1) !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.82) !important;
  transform-origin:center bottom !important;
}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
    transform:skewY(var(--iso-wall-angle)) scale(.45) !important;
  }
}


/* === PCLAU_044 · BASE: mover estantería a pared NORTE en U12,V25 ===
   Plano NORTE: x% = 50 + 0.39·u ; y% = 1.5 + 0.34·u + 0.27·v
   U12,V25 => x=54.7%, y=12.3%. Se usa como vértice superior izquierdo.
   Se mantiene el tamaño actual (50%) y la extrusión arriba-derecha de pared NORTE.
*/
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:54.7% !important;
  top:12.3% !important;
  width:23.2% !important;
  height:3.2% !important;
  transform:skewY(var(--iso-wall-angle)) scale(.5) !important;
  transform-origin:left top !important;
  z-index:7 !important;
  filter:
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(5px 7px 8px var(--wall-furn-shadow)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before,
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{
  bottom:-72% !important;
  width:8% !important;
  height:80% !important;
  background:linear-gradient(180deg,#8a551f,#5b3515) !important;
  box-shadow:1.55px -1.01px 0 #3a2410,3.10px -2.03px 0 #5d391a !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before{left:16% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{right:16% !important;transform:scaleX(-1) !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.82) !important;
  transform-origin:center bottom !important;
}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
    transform:skewY(var(--iso-wall-angle)) scale(.45) !important;
  }
}


/* === PCLAU_045 · BASE: mover estantería a pared NORTE en U7,V35 ===
   Plano NORTE: x% = 50 + 0.39·u ; y% = 1.5 + 0.34·u + 0.27·v
   U7,V35 => x=52.7%, y=13.3%. Se usa como vértice superior izquierdo.
   Se mantiene el tamaño actual (50%) y la extrusión arriba-derecha de pared NORTE.
*/
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
  left:52.7% !important;
  top:13.3% !important;
  width:23.2% !important;
  height:3.2% !important;
  transform:skewY(var(--iso-wall-angle)) scale(.5) !important;
  transform-origin:left top !important;
  z-index:7 !important;
  filter:
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-near))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(1.55px -1.01px 0 var(--wall-furn-far))
    drop-shadow(.95px -.62px 0 var(--wall-furn-lip))
    drop-shadow(5px 7px 8px var(--wall-furn-shadow)) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before,
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{
  bottom:-72% !important;
  width:8% !important;
  height:80% !important;
  background:linear-gradient(180deg,#8a551f,#5b3515) !important;
  box-shadow:1.55px -1.01px 0 #3a2410,3.10px -2.03px 0 #5d391a !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::before{left:16% !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf::after{right:16% !important;transform:scaleX(-1) !important;}
.nv-orchid-room.nv-room-base-retro .nv-base-back-shelf .nv-shelf-pot{
  transform:skewY(calc(-1 * var(--iso-wall-angle))) scale(.82) !important;
  transform-origin:center bottom !important;
}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-back-shelf{
    transform:skewY(var(--iso-wall-angle)) scale(.45) !important;
  }
}


/* === PCLAU_046 · BASE: colocar máquina arcade de frente en el fondo ===
   Referencia geométrica:
   - Pared OESTE u85,v100 -> (x=44.15%, y=33.6%)
   - Pared NORTE u15,v100 -> (x=55.85%, y=33.6%)
   Se usa la línea de suelo trasera entre ambos puntos como ancho del frontal.
   El vértice inferior izquierdo del frontal queda en (44.15%, 33.6%).
   Vista de frente + extrusión hacia atrás y arriba.
*/
.nv-orchid-room.nv-room-base-retro .nv-base-arcade{
  display:block !important;
  left:44.15% !important;
  bottom:66.4% !important;
  right:auto !important;
  top:auto !important;
  width:11.70% !important;
  height:19.2% !important;
  transform:none !important;
  transform-origin:left bottom !important;
  clip-path:none !important;
  border:2px solid #11161a !important;
  border-radius:8px 8px 10px 10px !important;
  background:linear-gradient(180deg,#2b343d 0%,#1b2229 58%,#12181d 100%) !important;
  box-shadow:0 8px 10px rgba(0,0,0,.22), inset 0 0 0 1px rgba(96,152,214,.42) !important;
  z-index:7 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade::before{
  content:"" !important;
  position:absolute !important;
  left:4.5% !important;
  right:1.2% !important;
  top:-12% !important;
  height:12% !important;
  background:linear-gradient(180deg,#4f5d69 0%,#28323a 100%) !important;
  clip-path:polygon(0 100%,100% 100%,92% 0,8% 0) !important;
  box-shadow:2.8px -4px 0 #53697b,5.6px -8px 0 #3f5160 !important;
  border-radius:4px 4px 0 0 !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade::after{
  content:"" !important;
  position:absolute !important;
  top:3.2% !important;
  right:-8.5% !important;
  width:8.5% !important;
  height:96.8% !important;
  background:linear-gradient(180deg,#42515d 0%,#263038 60%,#171d23 100%) !important;
  clip-path:polygon(0 0,100% 8%,100% 100%,0 100%) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-marquee{
  left:10% !important;
  top:6% !important;
  width:80% !important;
  height:10% !important;
  color:#f2c34a !important;
  font-size:.48rem !important;
  font-weight:1000 !important;
  letter-spacing:.03em !important;
  text-align:center !important;
  text-shadow:0 0 6px rgba(242,195,74,.22) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-screen{
  left:12% !important;
  top:18% !important;
  width:76% !important;
  height:29% !important;
  border-radius:4px !important;
  background:
    radial-gradient(circle at 18% 20%,#67f16e 0 2.4%,transparent 2.8%),
    radial-gradient(circle at 40% 26%,#67f16e 0 2.4%,transparent 2.8%),
    radial-gradient(circle at 62% 24%,#67f16e 0 2.4%,transparent 2.8%),
    radial-gradient(circle at 78% 40%,#67f16e 0 2.4%,transparent 2.8%),
    radial-gradient(circle at 48% 74%,#5ec8ff 0 2.6%,transparent 3%),
    linear-gradient(180deg,#071013,#162329) !important;
  border:1px solid rgba(57,91,101,.86) !important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.75),0 1px 0 rgba(255,255,255,.05) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-stick{
  left:22% !important;
  top:57% !important;
  width:14% !important;
  height:19% !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-stick::before{
  content:"" !important;
  position:absolute !important;
  left:44% !important;
  top:10% !important;
  width:12% !important;
  height:60% !important;
  background:#191e23 !important;
  border-radius:999px !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-stick::after{
  content:"" !important;
  position:absolute !important;
  left:24% !important;
  top:0 !important;
  width:52% !important;
  height:20% !important;
  background:#d94d40 !important;
  border-radius:999px !important;
  box-shadow:0 0 0 1px rgba(121,27,20,.56) !important;
}
.nv-orchid-room.nv-room-base-retro .nv-base-arcade .nv-arcade-buttons{
  right:16% !important;
  top:60% !important;
  width:34% !important;
  height:12% !important;
  background:
    radial-gradient(circle at 16% 50%,#e65147 0 17%,transparent 18%),
    radial-gradient(circle at 43% 53%,#f0ca50 0 17%,transparent 18%),
    radial-gradient(circle at 70% 47%,#5ab2f6 0 17%,transparent 18%),
    radial-gradient(circle at 56% 84%,#64c45f 0 17%,transparent 18%) !important;
}
@media (max-width:760px){
  .nv-orchid-room.nv-room-base-retro .nv-base-arcade{
    width:11.7% !important;
    height:17.4% !important;
  }
}


.nv-orchid-room.nv-room-survival-window .nv-scene-decor-survival{
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:4 !important;
  --wall-edge:#2c1d11;
  --wall-edge-soft:#3c2817;
}
.nv-orchid-room.nv-room-survival-window .nv-scene-decor-survival .nv-decor-window{
  position:absolute !important;
  transform-origin:center center !important;
  pointer-events:none !important;
  border:2px solid #2c1d11 !important;
  border-radius:4px !important;
  background:linear-gradient(160deg,#bfe6ff 0%,#7fb6d6 45%,#4d7d99 100%) !important;
  overflow:hidden !important;
}
.nv-orchid-room.nv-room-survival-window .nv-scene-decor-survival .nv-decor-window::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(115deg,rgba(255,255,255,.55) 0 14%,transparent 14% 30%,rgba(255,255,255,.32) 30% 40%,transparent 40%) !important;
}
.nv-orchid-room.nv-room-survival-window .nv-scene-decor-survival .nv-decor-window::after{
  content:"" !important;
  position:absolute !important;
  left:48% !important;
  top:0 !important;
  bottom:0 !important;
  width:3px !important;
  background:#2c1d11 !important;
}
.nv-orchid-room.nv-room-survival-window .nv-scene-decor-survival .nv-decor-window-left{
  left:39.5% !important;
  top:10.5% !important;
  width:9% !important;
  height:12.4% !important;
  transform:skewY(-33deg) !important;
  z-index:6 !important;
  box-shadow:-1px 1px 0 var(--wall-edge),-2px 2px 0 var(--wall-edge),-3px 3px 0 var(--wall-edge-soft),inset 0 2px 0 rgba(255,255,255,.5),9px 13px 13px rgba(0,0,0,.42) !important;
}

/* === PCLAU_050 · Inventario activo de decoración distribuido por habitaciones === */
.nv-room-decor-active .nv-scene-decor-active{
  position:absolute !important;
  inset:0 !important;
  z-index:6 !important;
  pointer-events:none !important;
  --decor-edge:#2c1d11;
  --decor-edge-soft:#3c2817;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item{
  position:static !important;
  pointer-events:none !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-window,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-ac-unit,
.nv-room-decor-active .nv-scene-decor-active .nv-base-wall-poster,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade{
  pointer-events:none !important;
  transform-origin:center center !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-window{
  position:absolute !important;
  border:2px solid var(--decor-edge) !important;
  border-radius:4px !important;
  background:linear-gradient(160deg,#bfe6ff 0%,#7fb6d6 45%,#4d7d99 100%) !important;
  overflow:hidden !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-window::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(115deg,rgba(255,255,255,.55) 0 14%,transparent 14% 30%,rgba(255,255,255,.32) 30% 40%,transparent 40%) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-window::after{
  content:"" !important;
  position:absolute !important;
  left:48% !important;
  top:0 !important;
  bottom:0 !important;
  width:3px !important;
  background:var(--decor-edge) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-window-left{
  left:13.125% !important;
  top:34.68% !important;
  width:8.229% !important;
  height:7.5% !important;
  transform:skewY(-33.18deg) !important;
  transform-origin:center center !important;
  z-index:6 !important;
  box-shadow:-1px 1px 0 var(--decor-edge),-2px 2px 0 var(--decor-edge),-3px 3px 0 var(--decor-edge-soft),inset 0 2px 0 rgba(255,255,255,.5),9px 13px 13px rgba(0,0,0,.42) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-ac-unit{
  position:absolute !important;
  right:27.5% !important;
  top:19.4% !important;
  width:6.8% !important;
  height:3.4% !important;
  transform:skewY(33deg) !important;
  z-index:6 !important;
  border:2px solid #59606a !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#f7fafc 0%,#cbd5df 100%) !important;
  box-shadow:2px 3px 0 #2d343b,4px 6px 0 rgba(35,42,48,.45),inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-ac-unit::before{
  content:"" !important;
  position:absolute !important;
  left:10% !important;
  right:10% !important;
  top:48% !important;
  height:2px !important;
  background:repeating-linear-gradient(90deg,#59606a 0 4px,transparent 4px 7px) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf{
  border:2px solid #70451f !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#b7824a 0%,#87592d 52%,#5d371b 100%) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf .shelf-piece{
  background:linear-gradient(180deg,#d8c28f 0%,#a87c46 100%) !important;
  border:1px solid rgba(72,42,18,.76) !important;
  box-shadow:inset 0 1px 0 rgba(255,238,199,.45) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf .shelf-piece-a{width:24% !important;height:18% !important;bottom:13% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf .shelf-piece-b{width:15% !important;height:22% !important;bottom:42% !important;background:linear-gradient(180deg,#8bbf5d,#4f8e3b) !important;border-radius:4px 4px 8px 8px !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf .shelf-piece-c{width:20% !important;height:16% !important;bottom:13% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-kind-generic .nv-decor-shelf .shelf-piece-d{width:18% !important;height:14% !important;bottom:42% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-active-poster-west-left{
  position:absolute !important;
  left:12.812% !important;
  top:35.311% !important;
  width:10.417% !important;
  height:10.278% !important;
  transform:skewY(-33.18deg) !important;
  transform-origin:center center !important;
  z-index:6 !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-active-cubby-north-right{
  position:absolute !important;
  left:12.812% !important;
  right:auto !important;
  top:35.041% !important;
  width:10.417% !important;
  height:10.278% !important;
  transform:skewY(-33.18deg) !important;
  transform-origin:center center !important;
  z-index:6 !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-active-arcade-floor{
  position:absolute !important;
  left:55.8% !important;
  top:45.6% !important;
  width:9.6% !important;
  height:18% !important;
  transform:skewY(33deg) scale(.92) !important;
  z-index:7 !important;
}
@media (max-width:760px){
  .nv-room-decor-active .nv-scene-decor-active .nv-decor-window-left{width:10% !important;height:11.2% !important;}
  .nv-room-decor-active .nv-scene-decor-active .nv-active-arcade-floor{width:10.8% !important;height:17.2% !important;}
}

.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item{
  position:absolute !important;
  pointer-events:none !important;
  z-index:6 !important;
  box-sizing:border-box !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item > div{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  transform-origin:center center !important;
  box-sizing:border-box !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-wall="oeste"][data-position="izquierda"]{left:14%;top:30%;width:8%;height:8%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-wall="oeste"][data-position="derecha"]{left:31%;top:20%;width:8%;height:8%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-wall="norte"][data-position="izquierda"]{right:31%;top:20%;width:8%;height:8%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-wall="norte"][data-position="derecha"]{right:14%;top:30%;width:8%;height:8%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-wall="suelo"][data-position="central"]{left:55.8%;top:45.6%;width:9.6%;height:18%;transform:skewY(33deg) scale(.92) !important;z-index:7 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="oeste"][data-position="izquierda"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="oeste"][data-position="izquierda"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="oeste"][data-position="izquierda"]{left:13.592%;top:47.591%;width:10.417%;height:10.278%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-decor-id="BASE_CUBBY"][data-kind="cubby"][data-wall="oeste"][data-position="izquierda"]{left:12.812%;top:35.041%;width:10.417%;height:10.278%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="oeste"][data-position="derecha"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="oeste"][data-position="derecha"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="oeste"][data-position="derecha"]{left:38.162%;top:26.171%;width:10.417%;height:10.278%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="oeste"][data-position="derecha"],
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="oeste"][data-position="derecha"],
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="oeste"][data-position="derecha"]{left:38.162%;top:26.171%;width:10.417%;height:10.278%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="norte"][data-position="izquierda"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="izquierda"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="norte"][data-position="izquierda"]{left:50.252%;right:auto !important;top:24.881%;width:10.417%;height:10.278%;transform:skewY(33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="norte"][data-position="derecha"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="norte"][data-position="derecha"]{left:75.992%;right:auto !important;top:47.321%;width:10.417%;height:10.278%;transform:skewY(33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"][data-wall="norte"][data-position="derecha"],
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"],
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"][data-wall="norte"][data-position="derecha"]{left:75.992%;right:auto !important;top:47.321%;width:10.417%;height:10.278%;transform:skewY(33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="oeste"][data-position="izquierda"]{left:13.125%;top:34.68%;width:8.229%;height:7.5%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="oeste"][data-position="derecha"]{left:23.5%;top:23.5%;width:9%;height:6.2%;transform:skewY(-33deg) !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="oeste"][data-position="derecha"]{left:38.475%;top:12.58%;width:8.229%;height:7.5%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="oeste"] .nv-decor-window{box-shadow:1px 1px 0 var(--decor-edge),2px 2px 0 var(--decor-edge),3px 3px 0 var(--decor-edge-soft),inset 0 2px 0 rgba(255,255,255,.5),9px 13px 13px rgba(0,0,0,.42) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="norte"][data-position="izquierda"]{right:39.5%;top:10.5%;width:9%;height:12.4%;transform:skewY(33deg) !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="norte"][data-position="izquierda"]{left:53.295%;right:auto !important;top:12.58%;width:8.229%;height:7.5%;transform:skewY(33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="norte"][data-position="derecha"]{right:23.5%;top:23.5%;width:9%;height:6.2%;transform:skewY(33deg) !important;}
.nv-orchid-room.nv-room-passage.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"][data-wall="norte"][data-position="derecha"]{left:78.255%;right:auto !important;top:34.34%;width:8.229%;height:7.5%;transform:skewY(33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"]{width:6.8% !important;height:3.4% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="norte"][data-position="izquierda"]{right:32.5%;top:19%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="norte"][data-position="derecha"]{right:27.5%;top:19.4%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="oeste"][data-position="izquierda"]{left:24%;top:24%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="oeste"][data-position="derecha"]{left:32%;top:19%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="frame"]{width:6% !important;height:7.4% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="frame"] .nv-decor-wall-frame{border-radius:5px !important;border:2px solid var(--decor-edge) !important;background:linear-gradient(150deg,rgba(255,242,222,.30),transparent 38%),linear-gradient(180deg,#9a7650 0%,#7a5836 48%,#5a3f25 100%) !important;box-shadow:inset 0 2px 0 rgba(255,242,222,.18),9px 13px 13px rgba(0,0,0,.32) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"]{width:6.8% !important;height:3.8% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"][data-wall="oeste"][data-position="izquierda"]{left:22.5%;top:45%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"][data-wall="oeste"][data-position="derecha"]{left:32%;top:39%;transform:skewY(-33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"][data-wall="norte"][data-position="izquierda"]{right:32%;top:39%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"][data-wall="norte"][data-position="derecha"]{right:22.5%;top:45%;transform:skewY(33deg) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="lamp"][data-wall="techo"]{left:50%;top:7%;width:1.1%;height:18%;transform:translateX(-50%) !important;z-index:8 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="rug"]{left:44%;top:70%;width:25%;height:12%;z-index:3 !important;transform:translate(-50%,-50%) rotateZ(45deg) scaleY(.58) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="table"]{left:43%;top:67.5%;width:18%;height:10.5%;z-index:5 !important;transform:translate(-50%,-50%) !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="sofa"]{right:-1%;bottom:4%;width:25%;height:16%;z-index:4 !important;}

.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="poster"][data-wall="oeste"][data-position="derecha"]{left:12.812%;top:35.311%;width:10.417%;height:10.278%;transform:skewY(-33.18deg) !important;transform-origin:center center !important;z-index:6 !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="poster"]{width:7% !important;height:7.5% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"]{height:7% !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"] .nv-base-back-shelf{overflow:visible !important;}
.nv-room-decor-active .nv-scene-decor-active .nv-base-back-shelf .nv-shelf-pot,
.nv-room-decor-active .nv-scene-decor-active .nv-base-back-shelf .nv-shelf-pot::before,
.nv-room-decor-active .nv-scene-decor-active .nv-base-back-shelf .nv-shelf-pot::after,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby span,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby span::before,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby span::after,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby::before,
.nv-room-decor-active .nv-scene-decor-active .nv-base-cubby::after,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade span,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade span::before,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade span::after,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade::before,
.nv-room-decor-active .nv-scene-decor-active .nv-base-arcade::after{
  position:absolute !important;
  box-sizing:border-box !important;
}
@media (max-width:760px){
  .nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="shelf"],
  .nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="cubby"]{width:11.2% !important;height:11.8% !important;}
  .nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="window"]{width:10% !important;}
}
.nv-grid-door{pointer-events:none !important;}
.nv-grid-door button{pointer-events:auto !important;cursor:pointer !important;}
.nv-grid-door .door-label{pointer-events:none !important;}


/* === PCLAU_095 · Reparación visibilidad A/A técnico/laboratorio: posición en contenedor real === */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="oeste"][data-position="centro"]{
  left:27.713% !important;
  right:auto !important;
  top:21.562% !important;
  width:6.354% !important;
  height:2.917% !important;
  transform:skewY(-33.18deg) !important;
  transform-origin:center center !important;
  z-index:6 !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="norte"][data-position="centro"]{
  left:65.933% !important;
  right:auto !important;
  top:21.292% !important;
  width:6.354% !important;
  height:2.917% !important;
  transform:skewY(33.18deg) !important;
  transform-origin:center center !important;
  z-index:6 !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-position="centro"] .nv-decor-ac-unit{
  left:0 !important;
  right:auto !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  z-index:auto !important;
}

/* === PCLAU_099 · Extrusión A/A: NORTE arriba-derecha / OESTE arriba-izquierda === */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="norte"][data-position="centro"] .nv-decor-ac-unit{
  box-shadow:2px -3px 0 #2d343b,4px -6px 0 rgba(35,42,48,.45),inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="ac"][data-wall="oeste"][data-position="centro"] .nv-decor-ac-unit{
  box-shadow:-2px -3px 0 #2d343b,-4px -6px 0 rgba(35,42,48,.45),inset 0 1px 0 rgba(255,255,255,.8) !important;
}

/* === PCLAU_100 · Extrusión jardinera/base_shelf en NORTE: arriba y derecha === */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"] .nv-base-back-shelf{
  box-shadow:1px -1px 0 rgba(95,55,19,.65),2px -2px 0 rgba(95,55,19,.55),8px -10px 12px rgba(0,0,0,.18) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"] .nv-base-back-shelf .nv-shelf-pot{
  box-shadow:1px -2px 4px rgba(0,0,0,.18) !important;
}

/* === PCLAU_101 · Extrusión global reforzada para todas las jardineras === */
/* Jardinera / balda de plantas en pared NORTE: extrusión arriba y derecha */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"] .nv-base-back-shelf,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="norte"] .nv-decor-shelf{
  box-shadow:1px -1px 0 rgba(95,55,19,.72),2px -2px 0 rgba(95,55,19,.66),3px -3px 0 rgba(95,55,19,.58),4px -4px 0 rgba(95,55,19,.48),10px -12px 14px rgba(0,0,0,.22) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"] .nv-shelf-pot,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="norte"] .shelf-piece{
  box-shadow:1px -1px 0 rgba(0,0,0,.16),2px -2px 0 rgba(0,0,0,.12),3px -3px 4px rgba(0,0,0,.16) !important;
}
/* Jardinera / balda de plantas en pared OESTE: extrusión arriba e izquierda */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="oeste"] .nv-base-back-shelf,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="oeste"] .nv-decor-shelf{
  box-shadow:-1px -1px 0 rgba(95,55,19,.72),-2px -2px 0 rgba(95,55,19,.66),-3px -3px 0 rgba(95,55,19,.58),-4px -4px 0 rgba(95,55,19,.48),-10px -12px 14px rgba(0,0,0,.22) !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="oeste"] .nv-shelf-pot,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="oeste"] .shelf-piece{
  box-shadow:-1px -1px 0 rgba(0,0,0,.16),-2px -2px 0 rgba(0,0,0,.12),-3px -3px 4px rgba(0,0,0,.16) !important;
}

/* === PCLAU_102 · Adelantar jardinera norte derecha y mostrar número de habitación === */
.nv-side-title-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.nv-side-title-row .nv-side-kicker{
  margin-bottom:0 !important;
}
.nv-side-room-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:44px !important;
  padding:3px 10px !important;
  border-radius:999px !important;
  background:rgba(169,239,186,.12) !important;
  border:1px solid rgba(169,239,186,.28) !important;
  color:#dcffe6 !important;
  font-size:.78rem !important;
  font-weight:1000 !important;
  line-height:1 !important;
}
/* Jardinera verde / balda-jardinera NORTE derecha: adelantarla y separarla de la pared */
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"],
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="norte"][data-position="derecha"]{
  top:49.25% !important;
  z-index:7 !important;
}
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item[data-kind="base_shelf"][data-wall="norte"][data-position="derecha"] .nv-base-back-shelf,
.nv-room-decor-active .nv-scene-decor-active .nv-decor-active-item.nv-decor-kind-plants[data-kind="shelf"][data-wall="norte"][data-position="derecha"] .nv-decor-shelf{
  box-shadow:2px -2px 0 rgba(95,55,19,.78),4px -4px 0 rgba(95,55,19,.70),6px -6px 0 rgba(95,55,19,.58),8px -8px 0 rgba(95,55,19,.42),14px -14px 16px rgba(0,0,0,.24) !important;
}


.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base.nv-base-3d-scene{
  z-index:6 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-item{
  position:absolute !important;
  display:block !important;
  max-width:none !important;
  height:auto !important;
  pointer-events:none !important;
  user-select:none !important;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.28));
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:13.2% !important;
  top:29.8% !important;
  width:19.4% !important;
  z-index:8 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:27.8% !important;
  top:22.4% !important;
  width:15.2% !important;
  z-index:10 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:45.0% !important;
  top:11.5% !important;
  width:17.8% !important;
  z-index:7 !important;
  filter:drop-shadow(0 6px 12px rgba(0,0,0,.24));
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  left:56.4% !important;
  top:36.8% !important;
  width:8.6% !important;
  z-index:8 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:14.3% !important;
  top:44.8% !important;
  width:24.4% !important;
  z-index:9 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:14.8% !important;
  top:25.5% !important;
  width:15.2% !important;
  z-index:7 !important;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.26));
}
@media (max-width: 980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{width:20.8% !important;left:12.4% !important;top:31.2% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{width:16.4% !important;left:25.8% !important;top:24.2% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{width:19% !important;left:44.2% !important;top:12.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{width:9.6% !important;left:56.0% !important;top:37.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{width:26.4% !important;right:12.2% !important;top:46.2% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{width:16.6% !important;right:13.6% !important;top:27.2% !important;}
}



/* === PCLAU_126 · Base 3D: revertir intento de puertas y reducir objetos al 50% === */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:10.8% !important;
  top:35.4% !important;
  width:9.7% !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:32.4% !important;
  top:31.8% !important;
  width:7.6% !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:50.0% !important;
  top:16.5% !important;
  width:8.9% !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  left:58.6% !important;
  top:43.6% !important;
  width:4.3% !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:20.0% !important;
  top:51.0% !important;
  width:12.2% !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:19.6% !important;
  top:31.0% !important;
  width:7.6% !important;
}
@media (max-width: 980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:9.6% !important;top:36.2% !important;width:10.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:30.8% !important;top:32.8% !important;width:8.4% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:49.0% !important;top:17.4% !important;width:9.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:58.4% !important;top:44.2% !important;width:5.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{right:18.8% !important;top:52.2% !important;width:13.4% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:18.4% !important;top:32.0% !important;width:8.4% !important;}
}



/* === PCLAU_127 · Base 3D: mejorar ángulo, bajar estantería y asegurar no-bloqueo === */
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base.nv-base-3d-scene{
  pointer-events:none !important;
  z-index:3 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-item{
  pointer-events:none !important;
  user-select:none !important;
}
.nv-orchid-room.nv-room-base-3d .nv-grid-avatar{z-index:15 !important;}
.nv-orchid-room.nv-room-base-3d .nv-grid-door,
.nv-orchid-room.nv-room-base-3d .nv-floor-item{z-index:14 !important;}

.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:9.6% !important;
  top:43.4% !important;
  width:9.2% !important;
  z-index:4 !important;
  transform:skewY(-33.18deg) scaleX(.92) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-8px 9px 10px rgba(0,0,0,.24)) !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:31.8% !important;
  top:35.8% !important;
  width:7.0% !important;
  z-index:4 !important;
  transform:skewY(-8deg) scale(.96) !important;
  transform-origin:center bottom !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:49.6% !important;
  top:17.0% !important;
  width:8.8% !important;
  z-index:4 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  left:57.8% !important;
  top:47.0% !important;
  width:4.1% !important;
  z-index:4 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:20.4% !important;
  top:53.2% !important;
  width:11.6% !important;
  z-index:4 !important;
  transform:skewY(8deg) scale(.98) !important;
  transform-origin:center bottom !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:20.0% !important;
  top:33.8% !important;
  width:7.0% !important;
  z-index:4 !important;
  transform:skewY(33.18deg) scale(.90) !important;
  transform-origin:center center !important;
  filter:drop-shadow(8px 9px 10px rgba(0,0,0,.22)) !important;
}
@media (max-width: 980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:8.6% !important;top:44.0% !important;width:10.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:30.2% !important;top:36.8% !important;width:7.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:48.8% !important;top:17.8% !important;width:9.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:57.2% !important;top:47.6% !important;width:4.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{right:19.0% !important;top:54.0% !important;width:12.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:18.8% !important;top:34.6% !important;width:7.8% !important;}
}



/* === PCLAU_128 · Base 3D depurada: solo bandeja con luz, mesa y A/A === */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf,
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater,
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  display:none !important;
}
/* Bandeja con luz: ya es la referencia de ángulo correcta; la acercamos al paramento izquierdo */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:24.2% !important;
  top:31.8% !important;
  width:7.1% !important;
  z-index:4 !important;
  transform:skewY(-8deg) scale(.97) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-6px 9px 10px rgba(0,0,0,.24)) !important;
}
/* A/A: subirlo y llevarlo hacia la arista de unión superior */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:46.6% !important;
  top:8.8% !important;
  width:9.0% !important;
  z-index:4 !important;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.22)) !important;
}
/* Mesa: mantener su buen ángulo y acercarla a la pared derecha */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:13.4% !important;
  top:48.4% !important;
  width:11.8% !important;
  z-index:4 !important;
  transform:skewY(8deg) scale(.98) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(7px 10px 10px rgba(0,0,0,.24)) !important;
}
@media (max-width: 980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:22.8% !important;top:32.6% !important;width:7.9% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:45.9% !important;top:9.8% !important;width:10.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{right:12.0% !important;top:49.4% !important;width:13.0% !important;}
}



/* === PCLAU_129 · Base EcoMuñ: solo 3D en calibración y bandeja hacia pared norte === */
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-test,
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-active,
.nv-orchid-room.nv-room-base-3d .nv-base-back-shelf,
.nv-orchid-room.nv-room-base-3d .nv-base-wall-poster,
.nv-orchid-room.nv-room-base-3d .nv-base-cubby,
.nv-orchid-room.nv-room-base-3d .nv-base-arcade,
.nv-orchid-room.nv-room-base-3d .nv-base-rug,
.nv-orchid-room.nv-room-base-3d .nv-base-sofa,
.nv-orchid-room.nv-room-base-3d .nv-decor-window,
.nv-orchid-room.nv-room-base-3d .nv-decor-ac-unit,
.nv-orchid-room.nv-room-base-3d .nv-decor-shelf,
.nv-orchid-room.nv-room-base-3d .nv-decor-wall-frame,
.nv-orchid-room.nv-room-base-3d .nv-decor-heater,
.nv-orchid-room.nv-room-base-3d .nv-decor-ceiling-lamp{
  display:none !important;
}
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base.nv-base-3d-scene{
  display:block !important;
  pointer-events:none !important;
  z-index:3 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-item{
  pointer-events:none !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf,
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater,
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  display:none !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:31.8% !important;
  top:29.2% !important;
  width:7.0% !important;
  z-index:4 !important;
  transform:skewY(-8deg) scale(.96) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-6px 9px 10px rgba(0,0,0,.24)) !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:46.6% !important;
  top:8.8% !important;
  width:9.0% !important;
  z-index:4 !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:13.4% !important;
  top:48.4% !important;
  width:11.8% !important;
  z-index:4 !important;
  transform:skewY(8deg) scale(.98) !important;
  transform-origin:center bottom !important;
}
@media (max-width: 980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:30.6% !important;top:30.2% !important;width:7.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:45.9% !important;top:9.8% !important;width:10.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{right:12.0% !important;top:49.4% !important;width:13.0% !important;}
}


/* === PCLAU_131 · Base EcoMuñ: ajuste final de objetos 3D según maqueta validada === */
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base.nv-base-3d-scene{
  display:block !important;
  pointer-events:none !important;
  z-index:4 !important;
  isolation:isolate !important;
}
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-item{
  position:absolute !important;
  display:block !important;
  max-width:none !important;
  height:auto !important;
  opacity:1 !important;
  pointer-events:none !important;
  image-rendering:auto !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  backface-visibility:hidden !important;
}
/* Ocultamos solo el calefactor en la calibración actual */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{display:none !important;}

/* Pared OESTE: estantería bajada, más pegada al muro y con ligera rectificación de ángulo */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:9.1% !important;
  top:40.8% !important;
  width:14.0% !important;
  z-index:4 !important;
  transform:skewY(-6deg) scale(.995) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-5px 9px 10px rgba(0,0,0,.22)) !important;
}
/* Bandeja con luz: adelantada y llevada hacia la esquina interior OESTE/NORTE */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:33.1% !important;
  top:28.2% !important;
  width:8.3% !important;
  z-index:4 !important;
  transform:skewY(-4deg) scale(.985) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-4px 8px 9px rgba(0,0,0,.22)) !important;
}
/* Aire acondicionado: centrado sobre la puerta NORTE */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:64.3% !important;
  top:13.6% !important;
  width:9.9% !important;
  z-index:4 !important;
  transform:none !important;
  transform-origin:center center !important;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.20)) !important;
}
/* Cuadros: centrados entre la puerta NORTE y el extremo derecho del muro */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:6.2% !important;
  top:28.6% !important;
  width:12.2% !important;
  z-index:4 !important;
  transform:none !important;
  transform-origin:center center !important;
  filter:drop-shadow(4px 8px 8px rgba(0,0,0,.18)) !important;
}
/* Mesa: mantener situación y ángulo validados */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{
  right:12.0% !important;
  top:49.0% !important;
  width:13.4% !important;
  z-index:4 !important;
  transform:skewY(8deg) scale(.99) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(6px 10px 10px rgba(0,0,0,.22)) !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:8.8% !important;top:41.4% !important;width:15.2% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:32.3% !important;top:29.0% !important;width:9.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.6% !important;top:14.1% !important;width:10.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:5.6% !important;top:29.4% !important;width:13.4% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-table{right:11.2% !important;top:50.0% !important;width:14.6% !important;}
}

/* === PCLAU_132 · Base EcoMuñ: ajuste fino final tras prueba visual === */
/* A/A: bajar visualmente los vértices derechos sin desplazar el conjunto */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:64.3% !important;
  top:13.6% !important;
  width:9.9% !important;
  transform:rotate(4deg) skewY(3deg) !important;
  transform-origin:35% 50% !important;
}
/* Cuadros: reintroducidos dentro de la escena, más a la izquierda y algo más abajo */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:9.3% !important;
  top:33.2% !important;
  width:10.8% !important;
  transform:none !important;
  transform-origin:center center !important;
}
/* Bandeja con luz: más a la derecha de la puerta, siguiendo la arista inferior del muro OESTE */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:36.5% !important;
  top:30.0% !important;
  width:8.1% !important;
  transform:skewY(-7deg) scale(.985) !important;
  transform-origin:center bottom !important;
}
/* Estantería: corregir ángulo para pegar mejor los vértices derechos al muro OESTE */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:8.7% !important;
  top:40.9% !important;
  width:14.0% !important;
  transform:skewY(-11deg) scale(.995) !important;
  transform-origin:left bottom !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.7% !important;top:14.0% !important;width:10.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:8.4% !important;top:34.0% !important;width:11.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:35.6% !important;top:30.8% !important;width:8.9% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:8.4% !important;top:41.5% !important;width:15.1% !important;}
}

/* === PCLAU_133 · Base EcoMuñ: optimización final de colocación y retorno calefactor === */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-item{
  will-change:transform,top,left,right !important;
}
/* Aire acondicionado: aún más bajos los vértices derechos */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:64.3% !important;
  top:13.7% !important;
  width:9.9% !important;
  transform:rotate(6.2deg) skewY(5.6deg) !important;
  transform-origin:34% 50% !important;
}
/* Cuadros: aún más a la izquierda */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:12.3% !important;
  top:33.4% !important;
  width:10.6% !important;
}
/* Bandeja: más a la derecha y arriba para compensar */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:39.0% !important;
  top:27.6% !important;
  width:8.0% !important;
  transform:skewY(-8deg) scale(.985) !important;
  transform-origin:center bottom !important;
}
/* Estantería: aún más retrasados los vértices derechos y algo más cerca de la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:10.1% !important;
  top:41.0% !important;
  width:13.9% !important;
  transform:skewY(-14.2deg) scale(.995) !important;
  transform-origin:left bottom !important;
}
/* Calefactor: restaurado y colocado en pared OESTE, zona baja central */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  display:block !important;
  left:18.8% !important;
  top:53.2% !important;
  width:5.4% !important;
  z-index:4 !important;
  transform:skewY(-9deg) scale(.99) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(-4px 8px 9px rgba(0,0,0,.22)) !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.7% !important;top:14.1% !important;width:10.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:11.2% !important;top:34.2% !important;width:11.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:38.0% !important;top:28.3% !important;width:8.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:9.8% !important;top:41.7% !important;width:15.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:18.0% !important;top:54.0% !important;width:6.0% !important;}
}

/* === PCLAU_134 · Base EcoMuñ: ajustes finos finales de calibración 3D === */
/* Aire acondicionado: vértices derechos algo más bajos que P132, menos que P133, y pieza algo más baja */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:64.1% !important;
  top:14.5% !important;
  width:9.9% !important;
  transform:rotate(5deg) skewY(4.1deg) !important;
  transform-origin:34% 50% !important;
}
/* Cuadros: mantener posición y dar inclinación con vértices derechos abajo */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:12.3% !important;
  top:33.4% !important;
  width:10.6% !important;
  transform:rotate(7deg) !important;
  transform-origin:center center !important;
}
/* Bandeja: aún más a la derecha y arriba */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:40.3% !important;
  top:26.4% !important;
  width:8.0% !important;
  transform:skewY(-8.5deg) scale(.985) !important;
  transform-origin:center bottom !important;
}
/* Estantería: vértices derechos más retrasados y algo más cerca de la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:11.3% !important;
  top:41.0% !important;
  width:13.9% !important;
  transform:skewY(-16.3deg) scale(.995) !important;
  transform-origin:left bottom !important;
}
/* Calefactor: al centro de la habitación */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  display:block !important;
  left:48.4% !important;
  top:58.0% !important;
  width:5.4% !important;
  z-index:4 !important;
  transform:translate(-50%,-50%) skewY(0deg) scale(.99) !important;
  transform-origin:center center !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.5% !important;top:14.9% !important;width:10.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:11.2% !important;top:34.2% !important;width:11.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:39.2% !important;top:27.0% !important;width:8.8% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:11.0% !important;top:41.6% !important;width:15.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:48.2% !important;top:58.8% !important;width:6.0% !important;}
}

/* === PCLAU_135 · Base EcoMuñ: ajuste final de calibración tras revisión visual === */
/* A/A: bajar más el lado derecho y bajar el conjunto hacia el marco de la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:64.0% !important;
  top:15.7% !important;
  width:9.9% !important;
  transform:rotate(6.1deg) skewY(5.3deg) !important;
  transform-origin:34% 50% !important;
  z-index:4 !important;
}
/* Cuadros: más inclinación, con vértices derechos abajo e izquierdos arriba */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:12.3% !important;
  top:33.5% !important;
  width:10.6% !important;
  transform:rotate(11deg) !important;
  transform-origin:center center !important;
  z-index:4 !important;
}
/* Bandeja: más a la derecha y más arriba */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:41.5% !important;
  top:25.4% !important;
  width:7.9% !important;
  transform:skewY(-9.3deg) scale(.985) !important;
  transform-origin:center bottom !important;
  z-index:4 !important;
}
/* Estantería: vértices derechos más retrasados y objeto algo más hacia la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:12.4% !important;
  top:41.1% !important;
  width:13.9% !important;
  transform:skewY(-18.4deg) scale(.995) !important;
  transform-origin:left bottom !important;
  z-index:4 !important;
}
/* Calefactor: OPACO (la antigua .88 dejaba ver la rejilla del suelo a través) */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  display:block !important;
  left:48.4% !important;
  top:58.0% !important;
  width:5.4% !important;
  z-index:5 !important;
  opacity:1 !important;
  transform:translate(-50%,-50%) skewY(0deg) scale(.99) !important;
  transform-origin:center center !important;
  filter:brightness(1.08) contrast(1.08) drop-shadow(0 8px 10px rgba(0,0,0,.20)) !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.4% !important;top:16.1% !important;width:10.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:11.2% !important;top:34.4% !important;width:11.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:40.5% !important;top:26.0% !important;width:8.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:12.0% !important;top:41.8% !important;width:15.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:48.2% !important;top:58.8% !important;width:6.0% !important;}
}

/* === PCLAU_136 · Base EcoMuñ: microajuste fino final === */
/* Aire acondicionado: lado derecho aún más bajo y pieza algo más baja hacia la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{
  left:63.9% !important;
  top:16.6% !important;
  width:9.9% !important;
  transform:rotate(7.2deg) skewY(6.4deg) !important;
  transform-origin:34% 50% !important;
  z-index:4 !important;
}
/* Cuadros: más inclinación, con derecha más abajo e izquierda más arriba */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{
  right:12.2% !important;
  top:33.7% !important;
  width:10.6% !important;
  transform:rotate(15deg) !important;
  transform-origin:center center !important;
  z-index:4 !important;
}
/* Bandeja: aún más a la derecha y arriba */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{
  left:42.7% !important;
  top:24.6% !important;
  width:7.8% !important;
  transform:skewY(-10.1deg) scale(.985) !important;
  transform-origin:center bottom !important;
  z-index:4 !important;
}
/* Estantería: mover algo más hacia la puerta */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{
  left:13.3% !important;
  top:41.1% !important;
  width:13.9% !important;
  transform:skewY(-18.4deg) scale(.995) !important;
  transform-origin:left bottom !important;
  z-index:4 !important;
}
/* Calefactor: sin transparencia */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  display:block !important;
  left:48.4% !important;
  top:58.0% !important;
  width:5.4% !important;
  z-index:5 !important;
  opacity:1 !important;
  transform:translate(-50%,-50%) skewY(0deg) scale(.99) !important;
  transform-origin:center center !important;
  filter:contrast(1.12) saturate(1.04) drop-shadow(0 8px 10px rgba(0,0,0,.22)) !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-ac{left:63.3% !important;top:17.0% !important;width:10.7% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-frames{right:11.1% !important;top:34.6% !important;width:11.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-lamp{left:41.6% !important;top:25.2% !important;width:8.6% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-shelf{left:12.9% !important;top:41.9% !important;width:15.0% !important;}
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:48.2% !important;top:58.8% !important;width:6.0% !important;}
}

/* === PCLAU_151 · CAJA DE EMBALAJE KRAFT PARA TODOS LOS OBJETOS DE SUELO ====================
   El bloque PCLAU_032 estaba limitado al selector .nv-room-base.nv-room-decor-test, combinacion
   que nunca coincide a la vez (la sala base no activa decor-test), por lo que la caja desaparecio.
   Aqui se generaliza la caja a CUALQUIER objeto de suelo (.nv-floor-item.nv-collect-form) en
   cualquier sala. Selector con 3 clases (0,3,1) + colocado al final del archivo => gana al resto
   de variantes de forma/posicion sin tocarlas. Se neutraliza el rotateZ del contenedor para que
   la caja quede recta y apoyada sobre la casilla. =========================================== */
.nv-orchid-room .nv-floor-item.nv-collect-form{
  transform:translate(-50%,-100%) !important;
  transform-origin:center bottom !important;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.40)) !important;
}
.nv-orchid-room .nv-floor-item.nv-collect-form button{
  width:54px !important; min-width:54px !important; height:52px !important;
  padding:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important;
  transform:none !important; overflow:visible !important;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.40)) !important;
}
.nv-orchid-room .nv-floor-item.nv-collect-form button:hover{
  transform:translateY(-3px) !important; filter:drop-shadow(0 7px 6px rgba(0,0,0,.42)) brightness(1.05) !important;
}
/* CARA SUPERIOR: rombo kraft con cruz de cinta de embalar */
.nv-orchid-room .nv-floor-item.nv-collect-form button::before{
  content:"" !important; position:absolute !important; left:0 !important; top:0 !important;
  width:54px !important; height:30px !important;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) !important;
  background:
    linear-gradient(0deg, transparent 41%, rgba(228,210,168,.92) 41% 59%, transparent 59%),
    linear-gradient(90deg, transparent 42%, rgba(232,215,174,.95) 42% 58%, transparent 58%),
    linear-gradient(135deg,#e0c590 0%,#cda86f 55%,#b69a64 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,247,228,.6) !important;
  z-index:2 !important;
}
/* CUERPO: dos caras (seam central) + tira de cinta vertical */
.nv-orchid-room .nv-floor-item.nv-collect-form button::after{
  content:"" !important; position:absolute !important; left:0 !important; top:15px !important;
  width:54px !important; height:37px !important; border-radius:0 !important;
  clip-path:polygon(0 0,50% 40%,100% 0,100% 60%,50% 100%,0 60%) !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.22) 0 50%, rgba(255,255,255,.05) 50% 100%),
    linear-gradient(90deg, transparent 41%, rgba(224,206,162,.90) 41% 59%, transparent 59%),
    linear-gradient(180deg,#b98d55 0%,#7e5d36 100%) !important;
  z-index:1 !important;
}
/* ICONO del objeto sobre la cara superior */
.nv-orchid-room .nv-floor-item.nv-collect-form span{
  position:absolute !important; left:50% !important; top:5px !important;
  transform:translateX(-50%) !important; font-size:.8rem !important; line-height:1 !important;
  min-height:0 !important; z-index:4 !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.45)) !important;
}
/* CANTIDAD: pildora en la cara frontal-derecha */
.nv-orchid-room .nv-floor-item.nv-collect-form small{
  position:absolute !important; left:auto !important; right:4px !important; bottom:6px !important;
  transform:none !important; min-width:14px !important; font-size:.45rem !important; font-weight:1000 !important;
  background:rgba(20,12,4,.72) !important; color:#ffe9c2 !important; border-radius:999px !important;
  padding:0 4px !important; z-index:4 !important;
}
/* SOMBRA DE CONTACTO en la casilla (rombo difuminado) */
.nv-orchid-room .nv-floor-item.nv-collect-form::after{
  content:"" !important; position:absolute !important; left:50% !important; top:auto !important; bottom:-4px !important;
  width:46px !important; height:24px !important;
  transform:translateX(-50%) rotateZ(45deg) scaleY(.6) !important; border-radius:6px !important; border:0 !important;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.45) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,0) 78%) !important;
  box-shadow:none !important; opacity:1 !important; z-index:-1 !important;
}

/* === PCLAU_156 · Estufa BASE/SUPERVIVENCIA: tamaño acorde al mobiliario y subida =================
   Tras revisión visual: se reduce al tamaño anterior (5.4%, en proporción con estantería/mesa/bandeja)
   y se SUBE (top 48%) para que quede como pieza central limpia. Se conserva el color/opacidad/sombra
   de contacto (cuerpo iluminado y saturado, totalmente opaca) para que no parezca de capa inferior.
   NO se toca la z de la escena (puertas a salvo); sigue por debajo del avatar/caja => paso libre.
   PENDIENTE (siguiente turno): estufa + estantería + mesa + bandeja de luz estorban el paso del avatar. */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{
  display:block !important;
  left:48.4% !important;
  top:48% !important;
  width:5.4% !important;
  z-index:9 !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  transform:translate(-50%,-50%) scale(1) !important;
  transform-origin:center center !important;
  filter:brightness(1.4) saturate(1.55) contrast(1.05)
         drop-shadow(0 6px 4px rgba(0,0,0,.5))
         drop-shadow(0 0 8px rgba(255,150,45,.34)) !important;
}
@media (max-width:980px){
  .nv-orchid-room.nv-room-base-3d .nv-base-3d-scene .nv-base-3d-heater{left:48.2% !important;top:48.6% !important;width:6.0% !important;}
}
/* Por si la sala de Supervivencia dibuja el calefactor por decor activo, mismo trato de color/opacidad */
.nv-orchid-room .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"]{
  opacity:1 !important;
  filter:brightness(1.2) saturate(1.38) contrast(1.05) drop-shadow(0 6px 5px rgba(0,0,0,.5)) !important;
}

/* === PCLAU_157 · Blindaje anti-transparencia de la estufa =========================================
   La estufa se veía traslúcida (rejilla del suelo a través) por una regla antigua opacity:.88.
   Se neutraliza en origen y, además, este guard de mayor especificidad (img.) garantiza opacidad
   total aunque LiteSpeed recombine/reordene el CSS. NO cambia tamaño (5.4%) ni posición (top 48%). */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene img.nv-base-3d-heater,
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base img.nv-base-3d-heater{
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:brightness(1.4) saturate(1.55) contrast(1.05)
         drop-shadow(0 6px 4px rgba(0,0,0,.5))
         drop-shadow(0 0 8px rgba(255,150,45,.34)) !important;
}

/* === PCLAU_158 · Estufa: legibilidad/contraste (NO es opacidad) ====================================
   Hallazgo: assets/objects/base_heater_3d.png es 100% opaco (alfa 1-bit, 0 px semitransparentes) y la
   estufa ya tenía opacity:1 forzado desde PCLAU_157. Por eso "se ve igual": no había transparencia
   real que eliminar; el PCLAU_157 era correcto pero, en la práctica, un no-op visual.
   Lo que se percibe como "traslúcido" es BAJO CONTRASTE: el cuerpo gris-verde queda muy cerca del
   verde del suelo y la pieza se camufla. Aquí se sube contraste/saturación y se añade un borde
   oscuro fino (doble drop-shadow a 0px) + sombra de contacto para despegarla del suelo y que lea
   como objeto sólido. NO se toca opacidad, tamaño (5.4%), posición (top 48%) ni z-index (9):
   puertas y avatar quedan intactos; la estufa sigue por debajo del avatar/caja (paso libre). */
.nv-orchid-room.nv-room-base-3d .nv-base-3d-scene img.nv-base-3d-heater,
.nv-orchid-room.nv-room-base-3d .nv-scene-decor-base img.nv-base-3d-heater{
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:
    brightness(1.30) saturate(1.65) contrast(1.18)
    drop-shadow(0 0 .6px rgba(8,14,10,.95))
    drop-shadow(0 0 .6px rgba(8,14,10,.95))
    drop-shadow(0 8px 6px rgba(0,0,0,.55))
    drop-shadow(0 0 9px rgba(255,150,45,.36)) !important;
}
/* Por si la sala de Supervivencia dibuja el calefactor por decor activo, mismo refuerzo de contraste */
.nv-orchid-room .nv-scene-decor-active .nv-decor-active-item[data-kind="heater"]{
  opacity:1 !important;
  filter:
    brightness(1.16) saturate(1.50) contrast(1.16)
    drop-shadow(0 0 .6px rgba(8,14,10,.95))
    drop-shadow(0 0 .6px rgba(8,14,10,.95))
    drop-shadow(0 7px 5px rgba(0,0,0,.5)) !important;
}


/* === PCLAU_151 · EcoMuñ 3D direccional === */
.nv-player-avatar::before{
  background-image:url('player_ecomun_down.png') !important;
  background-position:center bottom !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
}
.nv-player-avatar.nv-facing-down::before{background-image:url('player_ecomun_down.png') !important;}
.nv-player-avatar.nv-facing-up::before{background-image:url('player_ecomun_up.png') !important;}
.nv-player-avatar.nv-facing-left::before{background-image:url('player_ecomun_left.png') !important;}
.nv-player-avatar.nv-facing-right::before{background-image:url('player_ecomun_right.png') !important;}


/* === PCLAU_153 · Corrección selector EcoMuñ visible en juego === */
.nv-grid-avatar::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:url('player_ecomun_down.png') !important;
  background-position:center bottom !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  transform:none !important;
}
.nv-grid-avatar.nv-facing-down::before{background-image:url('player_ecomun_down.png') !important; transform:none !important;}
.nv-grid-avatar.nv-facing-up::before{background-image:url('player_ecomun_up.png') !important; transform:none !important;}
.nv-grid-avatar.nv-facing-left::before{background-image:url('player_ecomun_left.png') !important; transform:none !important;}
.nv-grid-avatar.nv-facing-right::before{background-image:url('player_ecomun_right.png') !important; transform:none !important;}


/* === PCLAU_154 · EcoMuñ ampliado === */
.nv-orchid-room .nv-grid-avatar,
.nv-grid-avatar{
  width:76px !important;
  height:96px !important;
  transform:translate(-50%,-82%) !important;
}
.nv-grid-avatar::before{
  background-size:contain !important;
  background-position:center bottom !important;
}
.nv-grid-avatar::after{
  left:14px !important;
  right:14px !important;
  bottom:-3px !important;
  height:12px !important;
}
@media (max-width:760px){
  .nv-orchid-room .nv-grid-avatar,
  .nv-grid-avatar{
    width:58px !important;
    height:74px !important;
  }
}


/* === PCLAU_155 · EcoMuñ ampliado EXTRA === */
.nv-orchid-room .nv-grid-avatar,
.nv-grid-avatar{
  width:92px !important;
  height:116px !important;
  transform:translate(-50%,-84%) !important;
}
.nv-grid-avatar::before{
  background-size:contain !important;
  background-position:center bottom !important;
}
.nv-grid-avatar::after{
  left:16px !important;
  right:16px !important;
  bottom:-4px !important;
  height:14px !important;
}
@media (max-width:760px){
  .nv-orchid-room .nv-grid-avatar,
  .nv-grid-avatar{
    width:68px !important;
    height:86px !important;
  }
}


/* === PCLAU_156 · Letreros de puertas separados hacia los vértices del visor === */
.nv-grid-door .door-label{
  z-index:30 !important;
  width:max-content !important;
  min-width:118px !important;
  max-width:190px !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}

/* Arriba izquierda: pared OESTE */
.nv-grid-door-west .door-label{
  left:auto !important;
  right:calc(100% + 26px) !important;
  top:-46px !important;
  bottom:auto !important;
  transform:none !important;
  text-align:center !important;
}

/* Arriba derecha: pared NORTE */
.nv-grid-door-north .door-label{
  left:calc(100% + 26px) !important;
  right:auto !important;
  top:-46px !important;
  bottom:auto !important;
  transform:none !important;
  text-align:center !important;
}

/* Abajo izquierda: pared SUR */
.nv-grid-door-south .door-label{
  left:auto !important;
  right:calc(100% + 26px) !important;
  top:auto !important;
  bottom:-70px !important;
  transform:none !important;
  text-align:center !important;
}

/* Abajo derecha: pared ESTE */
.nv-grid-door-east .door-label{
  left:calc(100% + 26px) !important;
  right:auto !important;
  top:auto !important;
  bottom:-70px !important;
  transform:none !important;
  text-align:center !important;
}

@media (max-width:760px){
  .nv-grid-door .door-label{
    min-width:92px !important;
    max-width:130px !important;
    padding:5px 7px !important;
    font-size:.68rem !important;
  }
  .nv-grid-door-west .door-label{right:calc(100% + 10px) !important;top:-34px !important;}
  .nv-grid-door-north .door-label{left:calc(100% + 10px) !important;top:-34px !important;}
  .nv-grid-door-south .door-label{right:calc(100% + 10px) !important;bottom:-52px !important;}
  .nv-grid-door-east .door-label{left:calc(100% + 10px) !important;bottom:-52px !important;}
}


/* === PCLAU_157 · Recupera letreros: visibles dentro del visor, acercados a vértices sin salirse === */
.nv-grid-door .door-label{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:60 !important;
  pointer-events:none !important;
  min-width:108px !important;
  max-width:172px !important;
  width:max-content !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* Dentro del visor: no empujar fuera del contenedor para evitar clipping por overflow:hidden */
.nv-grid-door-west .door-label{
  left:-78px !important;
  right:auto !important;
  top:-34px !important;
  bottom:auto !important;
  transform:none !important;
}

.nv-grid-door-north .door-label{
  left:54px !important;
  right:auto !important;
  top:-34px !important;
  bottom:auto !important;
  transform:none !important;
}

.nv-grid-door-south .door-label{
  left:-76px !important;
  right:auto !important;
  top:auto !important;
  bottom:-54px !important;
  transform:none !important;
}

.nv-grid-door-east .door-label{
  left:50px !important;
  right:auto !important;
  top:auto !important;
  bottom:-54px !important;
  transform:none !important;
}

@media (max-width:760px){
  .nv-grid-door .door-label{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    min-width:78px !important;
    max-width:112px !important;
    padding:4px 6px !important;
    font-size:.62rem !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }
  .nv-grid-door-west .door-label{left:-46px !important;top:-28px !important;}
  .nv-grid-door-north .door-label{left:38px !important;top:-28px !important;}
  .nv-grid-door-south .door-label{left:-48px !important;bottom:-42px !important;}
  .nv-grid-door-east .door-label{left:36px !important;bottom:-42px !important;}
}


/* === PCLAU_158 · Letreros en capa propia, dentro del visor y hacia los 4 vértices === */
/* Oculta los letreros antiguos anclados a las puertas: se recortaban por overflow y podían desaparecer. */
.nv-grid-door > .door-label{
  display:none !important;
}

.nv-door-corner-labels{
  position:absolute !important;
  inset:0 !important;
  z-index:80 !important;
  pointer-events:none !important;
  overflow:visible !important;
}

.nv-door-corner-label{
  position:absolute !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  min-width:128px !important;
  max-width:260px !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  background:rgba(10,32,18,.92) !important;
  border:1px solid rgba(185,235,167,.55) !important;
  color:#f2fff0 !important;
  font-size:.78rem !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-shadow:0 1px 2px rgba(0,0,0,.75) !important;
  box-shadow:0 5px 14px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

/* Vértices del visor */
.nv-door-corner-label-west{left:2.2% !important;top:11.5% !important;}
.nv-door-corner-label-north{right:2.2% !important;top:11.5% !important;}
.nv-door-corner-label-south{left:2.2% !important;bottom:11.5% !important;}
.nv-door-corner-label-east{right:2.2% !important;bottom:11.5% !important;}

@media (max-width:760px){
  .nv-door-corner-label{
    min-width:88px !important;
    max-width:138px !important;
    padding:5px 7px !important;
    font-size:.62rem !important;
    white-space:normal !important;
  }
  .nv-door-corner-label-west{left:1.8% !important;top:10% !important;}
  .nv-door-corner-label-north{right:1.8% !important;top:10% !important;}
  .nv-door-corner-label-south{left:1.8% !important;bottom:10% !important;}
  .nv-door-corner-label-east{right:1.8% !important;bottom:10% !important;}
}
