/* Annotation round 23: local W Tower W2 preview, awaiting system approval. */
:root{
  --cursor-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M24 5v38M5 24h38' fill='none' stroke='%23fff' stroke-width='3' opacity='.8'/%3E%3Cpath d='M24 5v38M5 24h38' fill='none' stroke='%23292929' stroke-width='1'/%3E%3C/svg%3E") 24 24,zoom-in;
  --cursor-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M5 24h38' fill='none' stroke='%23fff' stroke-width='3' opacity='.8'/%3E%3Cpath d='M5 24h38' fill='none' stroke='%23292929' stroke-width='1'/%3E%3C/svg%3E") 24 24,zoom-out;
}
@media(hover:hover) and (pointer:fine){
  [data-open],[data-open] img,.viewer-image-wrap,.viewer-image-wrap img{cursor:var(--cursor-plus)}
  .image-dialog.zoomed .viewer-image-wrap,.image-dialog.zoomed .viewer-image-wrap img{cursor:var(--cursor-minus)}
  .image-dialog.panning .viewer-image-wrap,.image-dialog.panning .viewer-image-wrap img{cursor:grabbing}
  #brandCursor.over-image{opacity:0}
}

/* The fitted frame fills all available space between heading and filmstrip. */
#imageDialog .viewer-stage,#imageDialog.zoomed .viewer-stage{display:block;overflow:hidden;padding:0;touch-action:none;isolation:isolate}
#imageDialog #viewerFrame,#imageDialog.zoomed #viewerFrame{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;overflow:visible}
#imageDialog .viewer-layer,#imageDialog.zoomed .viewer-layer{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;margin:0;pointer-events:none}
#imageDialog .viewer-layer.is-current{pointer-events:auto}
#imageDialog .viewer-image-wrap,#imageDialog.zoomed .viewer-image-wrap{position:relative;display:block;flex:none;min-width:0;max-width:none;min-height:0;max-height:none;transform-origin:center;touch-action:none;will-change:transform}
#imageDialog .viewer-layer img,#imageDialog.zoomed .viewer-layer img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
#imageDialog .viewer-arrow{position:absolute;top:50%;bottom:auto;transform:translateY(-50%);z-index:5;padding:14px;width:52px;height:60px;background:transparent!important;backdrop-filter:none;-webkit-backdrop-filter:none}
#imageDialog .viewer-arrow.prev{left:14px}#imageDialog .viewer-arrow.next{right:14px}
#imageDialog .viewer-arrow:disabled{display:none}
#imageDialog .viewer-thumbs{min-height:80px;padding-top:10px;padding-bottom:14px;gap:8px}
.viewer-comment{position:absolute;right:32px;bottom:95px;z-index:8}
.gallery-image-controls{right:auto;top:0;bottom:0;padding:0 16px}

/* Registered day/night originals: dim daylight, then reveal existing light regions. */
.day-night{position:relative}
.day-night .image-trigger{position:relative}
.day-night .day-scene,.day-night .scene-light{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}
.day-night .day-scene{object-fit:contain;opacity:1;transition:none!important}
.day-night .scene-light{opacity:0;background-image:var(--night-image);background-size:100% 100%;background-repeat:no-repeat}
.day-night .light-pendants{mask-image:radial-gradient(ellipse 21% 29% at 14% 45%,#000 33%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 21% 29% at 14% 45%,#000 33%,transparent 100%)}
.day-night .light-table{mask-image:radial-gradient(ellipse 24% 27% at 81% 48%,#000 33%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 24% 27% at 81% 48%,#000 33%,transparent 100%)}
.day-night .light-ceiling{mask-image:radial-gradient(ellipse 62% 19% at 65% 25%,#000 20%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 62% 19% at 65% 25%,#000 20%,transparent 100%)}
.day-night-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0 4px;color:var(--muted);font-size:10px}
.replay-scene{display:flex;align-items:center;gap:10px;font-size:10px;min-height:44px;padding:6px 0;color:var(--muted)}
.replay-icon{width:18px;height:18px}
.day-night-label{letter-spacing:.04em}

/* The rest of the original plan dims by 16%; the selected original stays intact. */
#planSvg .plan-base,#planSvg.has-highlight .plan-base{opacity:1;transition:filter .3s;filter:none}
#planSvg.has-hover-zone .plan-base{filter:none}
#planShade{pointer-events:none;fill:#292929;stroke:none}
#planShade path{opacity:0;transition:opacity .3s}
#planSvg.has-hover-zone #planShade path.shaded{opacity:.16}
#planSvg .plan-focus{opacity:0;pointer-events:none;transition:opacity .25s}
#planSvg.has-hover-zone .plan-focus{opacity:1}
.plan-viewport #planZones [data-zone].active{fill-opacity:0;stroke-opacity:.9;stroke-width:2.5}
.plan-viewport #planZones [data-zone]:focus{outline:none}
.day-night .image-trigger:hover img{transform:none}
.plan-tooltip{position:absolute;z-index:12;pointer-events:none;padding:10px 15px;font-size:16px;line-height:1.4;background:rgba(229,229,229,.92);color:#292929;border:1px solid #ffffff80;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 3px 18px #29292915;white-space:nowrap}

/* Bedroom: equal outer photographs, a quieter centre, one shared centre line. */
#B022 .image-layout{grid-template-columns:1fr .85fr 1fr;align-items:center}
#B022 .image-cell{align-self:center;padding:0!important;width:100%;margin:0!important;grid-column:auto}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
  #B022 .sequence-stage{top:var(--sequence-top,90px)}
  #B022 .image-layout{align-items:center}
}
@media(max-width:600px){
  #imageDialog .viewer-arrow{width:40px;height:50px;padding:10px}
  #imageDialog .viewer-arrow.prev{left:2px}#imageDialog .viewer-arrow.next{right:2px}
  #imageDialog .viewer-thumbs{min-height:76px;padding-top:9px;padding-bottom:12px}
  .viewer-comment{right:18px;bottom:86px}
  .gallery-image-controls{padding:0 8px}
  #B022 .image-layout{gap:8px}
  .plan-tooltip{font-size:14px;padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){
  #planSvg .plan-base,#planSvg .plan-focus,#planShade path{transition:none}
  .viewer-image-wrap{will-change:auto}
}

.evening .day-night-controls,.evening .replay-scene{color:#c2c2c2}

/* Desktop mouse keeps the studio square even in a narrow browser panel. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){#brandCursor{display:block}}
