*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050505;color:#eee;font-family:Georgia,"Times New Roman",serif}
button{font:inherit;color:inherit}
a{text-decoration:none;color:inherit}

#room{
  position:relative;width:100vw;height:100vh;overflow:hidden;
  background:#090909 url("assets/salon.png") center/cover no-repeat;
  user-select:none;touch-action:none
}
#room:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:20;
  background:radial-gradient(circle at 50% 45%,transparent 30%,rgba(0,0,0,.15) 60%,rgba(0,0,0,.48) 100%)
}

#title{position:absolute;top:3vh;left:2.5vw;z-index:30;font-size:clamp(12px,1vw,18px);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 15px #000}
#title span{display:block;margin-top:7px;font-size:.62em;opacity:.55}
#instructions{position:absolute;top:3vh;right:2.5vw;z-index:30;text-align:right;font-size:clamp(10px,.8vw,14px);letter-spacing:.12em;line-height:1.7;opacity:.55;text-transform:uppercase}

#painting{
  position:absolute;z-index:9;padding:0;margin:0;border:0;outline:0;background:transparent;
  cursor:pointer;overflow:visible;appearance:none;-webkit-appearance:none
}
#painting::before{
  content:"";position:absolute;inset:1.5%;z-index:0;pointer-events:none;
  background:rgba(8,8,8,.96);box-shadow:inset 0 0 28px rgba(0,0,0,.9)
}
#painting-image{
  position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:fill;pointer-events:none;
  transform:translate3d(0,0,0) scale(1);transform-origin:50% 50%;
  transition:transform .32s cubic-bezier(.2,.75,.25,1),filter .32s ease;
  filter:drop-shadow(0 0 0 rgba(0,0,0,0));
}
#painting:hover #painting-image,
#painting:focus-visible #painting-image{
  transform:translate3d(0,-6px,0) scale(1.008);
  filter:drop-shadow(0 14px 11px rgba(0,0,0,.68));
}
#painting:focus,#painting:focus-visible{outline:none;box-shadow:none}

.prop-link{
  position:absolute;display:block;transform-origin:50% 100%;
  transform:translate(-50%,-100%) scale(var(--prop-scale,1));
  will-change:left,top,transform,filter;z-index:13
}
.prop-link:focus-visible{outline:none}

/* ---------------- Book ---------------- */
#book-prop{width:170px;height:110px;filter:drop-shadow(0 16px 18px rgba(0,0,0,.75))}
.book-body{
  position:relative;width:100%;height:100%;
  transform:rotateX(70deg) rotateZ(-16deg);
  transform-style:preserve-3d;transition:transform .34s ease,filter .34s ease
}
.book-pages,
.book-cover,
.book-spine,
.book-edge,
.book-clasp{position:absolute}
.book-pages{
  left:8px;right:6px;top:10px;bottom:8px;border-radius:4px;
  background:linear-gradient(180deg,#e8e1cf 0%,#d7ccb5 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.16), inset -14px 0 0 rgba(0,0,0,.08), inset 0 0 24px rgba(255,255,255,.08)
}
.book-cover{
  left:0;right:0;top:0;bottom:0;border-radius:7px;transform-origin:left center;transform-style:preserve-3d;
  background:
    radial-gradient(circle at 28% 24%,rgba(255,255,255,.22),transparent 30%),
    radial-gradient(circle at 65% 62%,rgba(255,255,255,.12),transparent 38%),
    linear-gradient(145deg,#a9adb4 0%,#8a8f97 32%,#cfd3da 51%,#7b7f87 74%,#565a61 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.38), inset 0 0 0 2px rgba(255,255,255,.14), inset 0 -14px 18px rgba(0,0,0,.18);
  transition:transform .5s cubic-bezier(.2,.75,.25,1),filter .3s ease;
  overflow:hidden
}
.book-cover:before{
  content:"";position:absolute;inset:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:5px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)
}
.book-cover:after{
  content:"";position:absolute;left:18px;right:18px;top:16px;bottom:16px;border-radius:3px;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(0,0,0,.04));opacity:.7
}
.book-spine{
  left:-7px;top:4px;bottom:4px;width:18px;border-radius:8px 0 0 8px;
  background:linear-gradient(180deg,#4e535a 0%,#2c2f35 55%,#5d6269 100%);
  box-shadow:inset -2px 0 0 rgba(255,255,255,.1), inset 2px 0 0 rgba(0,0,0,.28)
}
.book-spine:before,
.book-spine:after{
  content:"";position:absolute;left:3px;right:3px;height:2px;background:rgba(222,226,232,.45);border-radius:2px
}
.book-spine:before{top:26px}
.book-spine:after{top:66px}
.book-edge{
  right:-2px;top:12px;bottom:10px;width:10px;border-radius:0 5px 5px 0;
  background:linear-gradient(180deg,#c4b9a0,#a79a81)
}
.book-clasp{
  right:18px;top:39px;width:18px;height:30px;border-radius:3px;
  background:linear-gradient(180deg,#c7ccd2,#828890);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)
}
#book-prop:hover .book-body,
#book-prop:focus-visible .book-body{transform:rotateX(70deg) rotateZ(-16deg) translateY(-9px)}
#book-prop:hover .book-cover,
#book-prop:focus-visible .book-cover{transform:rotateY(-124deg);filter:brightness(1.08)}

/* ---------------- TV ---------------- */
#tv-prop{width:220px;height:260px;filter:drop-shadow(0 20px 22px rgba(0,0,0,.78))}
.tv-body{
  position:relative;width:100%;height:100%;border-radius:6px;
  background:linear-gradient(180deg,#1e1f22 0%,#101114 100%);
  border:2px solid rgba(255,255,255,.06);
  box-shadow:0 12px 24px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.04), inset 0 -24px 26px rgba(0,0,0,.24);
  transition:transform .28s ease,filter .28s ease
}
.tv-body:after{
  content:"";position:absolute;left:16px;right:16px;bottom:-10px;height:18px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.48),rgba(0,0,0,0) 72%);filter:blur(5px)
}
.tv-antenna{position:absolute;top:-22px;width:4px;height:48px;background:#2d2f34;transform-origin:bottom center;border-radius:3px}
.tv-antenna.left{left:80px;transform:rotate(-32deg)}
.tv-antenna.right{left:126px;transform:rotate(32deg)}
.tv-screen{
  position:absolute;left:16px;top:18px;width:132px;height:110px;border-radius:18px/14px;
  background:radial-gradient(circle at 50% 40%,#272c2a 0%,#090b0a 80%);
  border:9px solid #2c2f34;
  box-shadow:inset 0 0 28px rgba(0,0,0,.86),0 6px 12px rgba(0,0,0,.44);
  overflow:hidden;transition:box-shadow .28s ease,transform .28s ease
}
.tv-screen:before{
  content:"";position:absolute;inset:0;opacity:.14;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.12) 0 2px,rgba(0,0,0,0) 2px 4px)
}
.tv-glow{
  position:absolute;inset:0;opacity:0;transition:opacity .28s ease;
  background:
    radial-gradient(circle at 50% 45%,rgba(224,234,255,.92) 0%,rgba(149,184,255,.74) 32%,rgba(52,85,160,.38) 58%,rgba(6,10,18,.12) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,0));
}
.tv-glow:before{
  content:"";position:absolute;inset:0;opacity:.45;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.08) 0 3px,rgba(0,0,0,0) 3px 6px)
}
.tv-label{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;text-align:center;
  font-size:12px;letter-spacing:.16em;color:#edf4ff;opacity:0;text-shadow:0 0 10px rgba(202,220,255,.6);
  transition:opacity .28s ease
}
.tv-speaker{
  position:absolute;left:16px;right:16px;top:145px;height:72px;border-radius:3px;
  background:linear-gradient(180deg,#2e2f33 0%,#16171a 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)
}
.tv-speaker:before{
  content:"";position:absolute;left:14px;right:14px;top:11px;bottom:11px;
  background:radial-gradient(circle,#4a4e55 19%,transparent 22%) 0 0/11px 11px;
  opacity:.65
}
.tv-knob{position:absolute;right:22px;width:16px;height:16px;border-radius:50%;background:linear-gradient(145deg,#a2a7af,#444952);box-shadow:inset 0 0 0 1px rgba(0,0,0,.32)}
.tv-knob.one{top:42px}.tv-knob.two{top:66px}.tv-knob.three{top:90px}
.tv-legs{position:absolute;left:28px;right:28px;bottom:-2px;height:28px}
.tv-legs:before,.tv-legs:after{content:"";position:absolute;bottom:0;width:6px;height:28px;background:#23262b;border-radius:4px}
.tv-legs:before{left:24px;transform:rotate(9deg)}.tv-legs:after{right:24px;transform:rotate(-9deg)}
#tv-prop:hover .tv-body,
#tv-prop:focus-visible .tv-body{transform:translateY(-8px) rotate(-1deg)}
#tv-prop:hover .tv-glow,
#tv-prop:focus-visible .tv-glow{opacity:1}
#tv-prop:hover .tv-label,
#tv-prop:focus-visible .tv-label{opacity:1}
#tv-prop:hover .tv-screen,
#tv-prop:focus-visible .tv-screen{box-shadow:0 0 22px rgba(155,184,255,.24), inset 0 0 24px rgba(0,0,0,.72)}

#chair{
  position:absolute;left:46%;top:80%;width:min(32vw,520px);height:auto;z-index:15;
  display:block;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;
  transform-origin:50% 100%;
  transform:translate(-50%,-100%) scale(var(--chair-scale,1));
  transition:filter .18s ease;
  filter:drop-shadow(0 24px 24px rgba(0,0,0,.68));
  will-change:left,top,transform,filter
}
#chair.dragging{cursor:grabbing;filter:drop-shadow(0 34px 36px rgba(0,0,0,.9))}
#chair.pinned{cursor:pointer;filter:drop-shadow(0 24px 28px rgba(0,0,0,.82)) drop-shadow(0 0 16px rgba(255,215,180,.06))}

#drag-message{position:absolute;left:50%;bottom:3vh;transform:translateX(-50%);z-index:30;padding:11px 20px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.1);border-radius:30px;backdrop-filter:blur(10px);font-size:clamp(11px,.9vw,15px);opacity:.82;transition:opacity .5s;max-width:min(92vw,780px);text-align:center}

#gallery{position:absolute;inset:0;z-index:50;background:rgba(3,3,3,.97);backdrop-filter:blur(14px);display:none;padding:7vh 5vw 4vh}
#gallery.visible{display:block;animation:revealGallery .55s cubic-bezier(.2,.7,.2,1)}
@keyframes revealGallery{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
#gallery-title{margin:0 0 2.2vh;font-weight:normal;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(15px,1.3vw,24px)}
#close-gallery,#close-lightbox{position:absolute;right:2.5vw;top:2vh;width:50px;height:50px;z-index:10;border:0;background:none;color:#fff;font-size:36px;cursor:pointer;opacity:.5;transition:.2s}
#close-gallery:hover,#close-lightbox:hover{opacity:1}
#gallery-grid{height:83vh;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:1vw}
.artwork{position:relative;padding:0;border:1px solid rgba(255,255,255,.12);background:#111;overflow:hidden;cursor:pointer}
.artwork img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .4s,filter .4s}
.artwork:hover img{transform:scale(1.07);filter:brightness(1.1)}
.artwork-number{position:absolute;bottom:8px;left:10px;padding:3px 5px;font-size:10px;letter-spacing:.18em;background:rgba(0,0,0,.5);text-shadow:0 1px 7px #000}

#lightbox{position:absolute;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.97)}
#lightbox.visible{display:flex}
#large-artwork{max-width:89vw;max-height:86vh;object-fit:contain;box-shadow:0 35px 100px rgba(0,0,0,.9)}
.navigation{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:90px;border:0;background:rgba(0,0,0,.2);color:#fff;cursor:pointer;font-size:42px;opacity:.4;transition:.2s}
.navigation:hover{opacity:1}
#previous{left:1.5vw}#next{right:1.5vw}
#counter{position:absolute;bottom:2.3vh;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.22em;opacity:.55}

@media(max-width:900px){
  #gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
  #chair{width:min(48vw,520px)}
  #instructions{display:none}
  #tv-prop{width:180px;height:220px}
  #book-prop{width:145px;height:95px}
}

/* V7: use the real metallic-book image rather than a CSS-drawn book. */
#book-prop{width:190px;height:auto;filter:drop-shadow(0 16px 18px rgba(0,0,0,.78))}
#book-prop .book-image{
  display:block;width:100%;height:auto;pointer-events:none;
  transform-origin:16% 54%;
  transform:rotate(-7deg) scale(1);
  transition:transform .42s cubic-bezier(.2,.75,.25,1),filter .32s ease;
}
#book-prop .book-open-hint{
  position:absolute;left:16%;right:6%;top:16%;bottom:12%;z-index:-1;
  border-radius:4px;
  background:linear-gradient(90deg,#d8cfbd 0 49%,#bcae96 50% 51%,#e3dbc9 52% 100%);
  transform:rotate(-7deg) translateY(2px) scale(.96);
  opacity:0;
  box-shadow:0 10px 20px rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.14);
  transition:opacity .3s ease,transform .42s ease;
}
#book-prop:hover .book-image,
#book-prop:focus-visible .book-image{
  transform:rotate(-16deg) translate(-22px,-11px) scale(.93);
  filter:brightness(1.08);
}
#book-prop:hover .book-open-hint,
#book-prop:focus-visible .book-open-hint{
  opacity:1;transform:rotate(-4deg) translate(20px,-2px) scale(1.04);
}


/* V9: book opens in place, uses darker matte pink cover, and sits closer to the back wall. */
#book-prop{
  width:175px;height:auto;perspective:1200px;
  transform-origin:50% 100%;
  filter:drop-shadow(0 12px 14px rgba(0,0,0,.62));
}
#book-prop .book-image{
  position:relative;z-index:2;display:block;width:100%;height:auto;pointer-events:none;
  transform-origin:12% 58%;
  transform:perspective(1200px) rotateZ(-8deg) rotateX(0deg) rotateY(0deg);
  transition:transform .48s cubic-bezier(.2,.75,.25,1),filter .32s ease;
  filter:saturate(.86) brightness(.92) contrast(1.02);
}
#book-prop .book-open-hint{
  position:absolute;left:15%;right:8%;top:18%;bottom:14%;z-index:1;
  border-radius:3px;opacity:0;
  background:
    linear-gradient(90deg,#c8baa4 0 48%,#ae9f88 49% 51%,#ded4c1 52% 100%);
  box-shadow:0 6px 16px rgba(0,0,0,.28), inset 0 0 0 1px rgba(0,0,0,.12);
  transform:rotate(-8deg) scale(1);
  transition:opacity .26s ease,transform .48s cubic-bezier(.2,.75,.25,1);
}
#book-prop:hover .book-image,
#book-prop:focus-visible .book-image{
  transform:perspective(1200px) rotateZ(-8deg) rotateY(-118deg);
  filter:saturate(.88) brightness(.96);
}
#book-prop:hover .book-open-hint,
#book-prop:focus-visible .book-open-hint{
  opacity:1;
  transform:rotate(-8deg) scale(1.01);
}


/* V10: refined book hinge and photo-based television */
#book-prop{
  width:170px;height:auto;perspective:1400px;transform-style:preserve-3d;
  transform-origin:50% 100%;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55));
}
#book-prop .book-image{
  position:relative;z-index:3;display:block;width:100%;height:auto;pointer-events:none;
  transform-origin:10.5% 58%;
  transform:perspective(1400px) rotateZ(-8deg) rotateY(0deg);
  transition:transform .54s cubic-bezier(.22,.78,.2,1), filter .3s ease;
  filter:saturate(.84) brightness(.93) contrast(1.02);
  backface-visibility:hidden;
}
#book-prop .book-open-hint{
  position:absolute;left:14.5%;right:7%;top:17%;bottom:14%;z-index:1;opacity:0;
  border-radius:4px;
  background:
    linear-gradient(90deg,#cdc0ab 0 47%,#b7a790 48% 52%,#e2d8c6 53% 100%);
  box-shadow:0 6px 15px rgba(0,0,0,.24), inset 0 0 0 1px rgba(0,0,0,.13);
  transform:rotate(-8deg) scale(1);
  transition:opacity .25s ease, transform .54s cubic-bezier(.22,.78,.2,1);
}
#book-prop::before{
  content:"";position:absolute;left:8.5%;top:13%;bottom:12%;width:5%;z-index:2;
  background:linear-gradient(180deg,rgba(92,65,74,.92),rgba(59,38,43,.92));
  border-radius:6px 0 0 6px;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.12), inset 1px 0 0 rgba(0,0,0,.35);
  pointer-events:none;
}
#book-prop:hover .book-image,
#book-prop:focus-visible .book-image{
  transform:perspective(1400px) rotateZ(-8deg) rotateY(-122deg);
  filter:saturate(.88) brightness(.98);
}
#book-prop:hover .book-open-hint,
#book-prop:focus-visible .book-open-hint{
  opacity:1;transform:rotate(-8deg) scale(1.01);
}

#tv-prop{
  width:175px;height:auto;perspective:1200px;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.55));
}
#tv-prop .tv-figure{position:relative;width:100%;height:auto;transition:transform .28s ease, filter .28s ease}
#tv-prop .tv-image{display:block;width:100%;height:auto;pointer-events:none;filter:brightness(.88) contrast(1.02) saturate(.88)}
#tv-prop .tv-screen-glow{
  position:absolute;left:14%;top:10%;width:49%;height:28%;pointer-events:none;opacity:0;
  border-radius:18% / 14%;
  background:
    radial-gradient(circle at 50% 48%, rgba(242,234,196,.9) 0%, rgba(220,192,104,.62) 34%, rgba(89,116,147,.34) 72%, rgba(0,0,0,0) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.07) 0 3px, rgba(0,0,0,0) 3px 6px);
  box-shadow:0 0 18px rgba(223,196,122,.23);
  transition:opacity .28s ease;
}
#tv-prop .tv-screen-label{
  position:absolute;left:14%;top:21%;width:49%;text-align:center;pointer-events:none;opacity:0;
  color:#f5edcf;font-size:10px;letter-spacing:.18em;text-shadow:0 0 8px rgba(255,232,173,.55);
  transition:opacity .28s ease;
}
#tv-prop:hover .tv-figure,
#tv-prop:focus-visible .tv-figure{transform:translateY(-5px)}
#tv-prop:hover .tv-screen-glow,
#tv-prop:focus-visible .tv-screen-glow,
#tv-prop:hover .tv-screen-label,
#tv-prop:focus-visible .tv-screen-label{opacity:1}

@media(max-width:900px){
  #tv-prop{width:145px}
  #book-prop{width:142px}
}


/* V11: use the exact user-provided TV and place it over the right sculpture. */
#tv-prop{
  width:290px;height:auto;perspective:1200px;transform-origin:50% 100%;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.62));
}
#tv-prop::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);
  width:78%;height:96%;z-index:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(8,8,8,.96) 0%, rgba(10,10,10,.98) 70%, rgba(12,8,6,.98) 100%);
  border-radius:8px;
  box-shadow:0 0 0 2px rgba(0,0,0,.45);
}
#tv-prop .tv-figure{position:relative;z-index:1;width:100%;height:auto;transition:transform .28s ease, filter .28s ease}
#tv-prop .tv-image{display:block;width:100%;height:auto;pointer-events:none;filter:brightness(.93) contrast(1.02) saturate(.92)}
#tv-prop .tv-screen-glow{
  left:13.5%;top:15.5%;width:48%;height:30%;
  border-radius:18% / 14%;
  background:
    radial-gradient(circle at 50% 45%, rgba(242,234,196,.88) 0%, rgba(219,194,112,.58) 34%, rgba(84,110,140,.30) 72%, rgba(0,0,0,0) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.07) 0 3px, rgba(0,0,0,0) 3px 6px);
  box-shadow:0 0 20px rgba(223,196,122,.22);
}
#tv-prop .tv-screen-label{left:13.5%;top:28%;width:48%;font-size:10px}
#tv-prop:hover .tv-figure,
#tv-prop:focus-visible .tv-figure{transform:translateY(-4px)}
@media(max-width:900px){#tv-prop{width:230px}}


/* V12: Replace TV with dark bust and interactive VR goggles. */
#bust-prop{
  width:220px;height:auto;perspective:1000px;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.55));
}
#bust-prop .bust-figure{position:relative;width:100%;height:auto;transition:transform .26s ease}
#bust-prop .bust-image{
  display:block;width:100%;height:auto;pointer-events:none;
  filter:brightness(.72) saturate(.86) contrast(1.06) drop-shadow(0 2px 1px rgba(0,0,0,.2));
}
#bust-prop:hover .bust-figure,
#bust-prop:focus-within .bust-figure{transform:translateY(-3px)}

#vr-link{
  position:absolute;left:21%;top:23%;width:34%;height:9.2%;display:block;
  text-decoration:none;cursor:pointer;z-index:3;
}
#vr-link:focus-visible{outline:none}
#vr-link .vr-strap{
  position:absolute;left:-12%;right:-12%;top:36%;height:18%;border-radius:999px;
  background:linear-gradient(180deg,#181a1d 0%,#0d0e10 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.45), 0 1px 4px rgba(0,0,0,.45);
}
#vr-link .vr-visor{
  position:absolute;inset:0;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#1d2025 0%,#090b0e 52%,#16181d 100%);
  box-shadow:0 0 0 2px rgba(0,0,0,.65), 0 5px 10px rgba(0,0,0,.48), inset 0 0 10px rgba(255,255,255,.04);
}
#vr-link .vr-visor::before{
  content:"";position:absolute;left:9%;right:9%;top:17%;bottom:20%;border-radius:12px;
  background:linear-gradient(180deg,rgba(98,112,143,.5) 0%,rgba(26,29,37,.88) 100%);
  box-shadow:inset 0 0 0 1px rgba(160,188,255,.10), inset 0 -6px 10px rgba(0,0,0,.4);
}
#vr-link .vr-shine{
  position:absolute;left:16%;top:19%;width:40%;height:22%;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,0));opacity:.35;transform:rotate(-10deg);
}
#vr-link:hover .vr-visor,
#vr-link:focus-visible .vr-visor{
  box-shadow:0 0 0 2px rgba(0,0,0,.65), 0 0 16px rgba(116,155,255,.32), 0 6px 12px rgba(0,0,0,.48), inset 0 0 12px rgba(255,255,255,.06);
}
#vr-link:hover .vr-visor::before,
#vr-link:focus-visible .vr-visor::before{
  background:linear-gradient(180deg,rgba(118,140,180,.70) 0%,rgba(30,36,46,.92) 100%);
}
@media(max-width:900px){
  #bust-prop{width:180px}
}


/* V13 adjustments: remove floor book, replace pedestal sculpture precisely, enlarge silver VR goggles. */
#book-prop{display:none !important;}

#bust-prop{
  width:190px;height:auto;perspective:1000px;transform-origin:50% 100%;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.52));
}
#bust-prop::before{
  content:"";position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);
  width:72%;height:68%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(8,8,8,.95) 0%, rgba(8,8,8,.92) 58%, rgba(8,8,8,0) 82%);
  filter:blur(6px);
}
#bust-prop .bust-figure{position:relative;z-index:1;width:100%;height:auto;transition:transform .24s ease}
#bust-prop .bust-image{
  display:block;width:100%;height:auto;pointer-events:none;
  filter:brightness(.54) saturate(.72) contrast(1.08) sepia(.10) hue-rotate(-12deg);
}
#bust-prop:hover .bust-figure,
#bust-prop:focus-within .bust-figure{transform:translateY(-2px)}

#vr-link{
  position:absolute;left:17.5%;top:22%;width:44%;height:12%;display:block;
  text-decoration:none;cursor:pointer;z-index:4;
}
#vr-link .vr-strap{
  position:absolute;left:-18%;right:-18%;top:36%;height:20%;border-radius:999px;
  background:linear-gradient(180deg,#bfc6cf 0%,#7f8893 48%,#d3dae3 100%);
  box-shadow:0 0 0 1px rgba(46,52,61,.7), 0 2px 6px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.35);
}
#vr-link .vr-visor{
  position:absolute;inset:0;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#d7dce2 0%,#939da8 42%,#5f6874 100%);
  box-shadow:0 0 0 2px rgba(57,63,71,.7), 0 6px 14px rgba(0,0,0,.5), inset 0 1px 2px rgba(255,255,255,.55), inset 0 -2px 3px rgba(0,0,0,.15);
}
#vr-link .vr-visor::before{
  content:"";position:absolute;left:7%;right:7%;top:16%;bottom:18%;border-radius:12px;
  background:linear-gradient(180deg,rgba(170,186,214,.78) 0%,rgba(83,94,112,.9) 100%);
  box-shadow:inset 0 0 0 1px rgba(228,240,255,.38), inset 0 -8px 12px rgba(0,0,0,.32);
}
#vr-link .vr-shine{
  position:absolute;left:12%;top:18%;width:46%;height:24%;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(255,255,255,0));opacity:.55;transform:rotate(-10deg);
}
#vr-link:hover .vr-visor,
#vr-link:focus-visible .vr-visor{
  box-shadow:0 0 0 2px rgba(57,63,71,.7), 0 0 18px rgba(196,210,234,.38), 0 6px 14px rgba(0,0,0,.52), inset 0 1px 2px rgba(255,255,255,.55);
}
#vr-link:hover .vr-visor::before,
#vr-link:focus-visible .vr-visor::before{
  background:linear-gradient(180deg,rgba(194,210,236,.92) 0%,rgba(94,107,128,.95) 100%);
}
@media(max-width:900px){
  #bust-prop{width:160px}
}


/* V14: precisely replace the pedestal bust, no floor book, larger silver goggles. */
#book-prop{display:none !important; visibility:hidden !important; pointer-events:none !important;}

#bust-prop{
  width:260px;height:auto;perspective:1000px;transform-origin:50% 100%;
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.50));
}
/* Occlusion patch to hide the old pedestal sculpture behind the new one */
#bust-prop::before{
  content:"";position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);
  width:52%;height:54%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(7,7,7,.98) 0%, rgba(7,7,7,.94) 60%, rgba(7,7,7,0) 84%);
  filter:blur(2px);
}
#bust-prop .bust-figure{position:relative;z-index:1;width:100%;height:auto;transition:transform .22s ease}
#bust-prop .bust-image{
  display:block;width:100%;height:auto;pointer-events:none;
  filter:brightness(.50) saturate(.64) contrast(1.1) sepia(.08) hue-rotate(-8deg);
}
#bust-prop:hover .bust-figure,
#bust-prop:focus-within .bust-figure{transform:translateY(-1px)}

#vr-link{
  position:absolute;left:15%;top:20.5%;width:48%;height:13%;display:block;
  text-decoration:none;cursor:pointer;z-index:4;
}
#vr-link .vr-strap{
  position:absolute;left:-22%;right:-22%;top:35%;height:22%;border-radius:999px;
  background:linear-gradient(180deg,#d8dee6 0%,#9ca6b2 45%,#e5ebf2 100%);
  box-shadow:0 0 0 1px rgba(52,58,66,.76),0 2px 7px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.45);
}
#vr-link .vr-visor{
  position:absolute;inset:0;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#eef2f6 0%,#a6b0bc 42%,#737d89 100%);
  box-shadow:0 0 0 2px rgba(62,68,76,.75),0 6px 14px rgba(0,0,0,.45),inset 0 1px 2px rgba(255,255,255,.62),inset 0 -2px 3px rgba(0,0,0,.14);
}
#vr-link .vr-visor::before{
  content:"";position:absolute;left:7%;right:7%;top:16%;bottom:18%;border-radius:12px;
  background:linear-gradient(180deg,rgba(196,211,232,.92) 0%,rgba(95,108,127,.96) 100%);
  box-shadow:inset 0 0 0 1px rgba(241,247,255,.45), inset 0 -8px 12px rgba(0,0,0,.34);
}
#vr-link .vr-shine{
  position:absolute;left:12%;top:17%;width:48%;height:25%;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,0));opacity:.6;transform:rotate(-10deg);
}
#vr-link:hover .vr-visor,
#vr-link:focus-visible .vr-visor{
  box-shadow:0 0 0 2px rgba(62,68,76,.75),0 0 20px rgba(211,224,244,.42),0 6px 14px rgba(0,0,0,.48),inset 0 1px 2px rgba(255,255,255,.62);
}
@media(max-width:900px){
  #bust-prop{width:210px}
}


/* V15: remove the added bust overlay entirely and keep the floor book hidden. */
#bust-prop{display:none !important; visibility:hidden !important; pointer-events:none !important;}
#book-prop{display:none !important; visibility:hidden !important; pointer-events:none !important;}


/* V16: stop moving the whole painting; animate only the VR child inside the painting; darken chair slightly. */
#painting{overflow:visible}
#painting-image{transform:none !important;filter:drop-shadow(0 0 0 rgba(0,0,0,0)) !important;transition:none !important}
#painting:hover #painting-image,
#painting:focus-visible #painting-image{transform:none !important;filter:drop-shadow(0 0 0 rgba(0,0,0,0)) !important}

#painting-boy{
  position:absolute;z-index:3;pointer-events:none;overflow:hidden;
  left:72%; top:56.3%; width:16.8%; height:32.4%;
  transform-origin:50% 85%;
}
#painting-boy img{
  position:absolute;left:-428%;top:-174%;width:595%;height:auto;display:block;pointer-events:none;
  transform:translate3d(0,0,0) rotate(0deg) scale(1);transform-origin:50% 80%;
  transition:transform .28s cubic-bezier(.22,.78,.2,1), filter .28s ease;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,0));
}
#painting:hover #painting-boy img,
#painting:focus-visible #painting-boy img{
  transform:translate3d(0,-6px,0) rotate(-2deg) scale(1.015);
  filter:drop-shadow(0 9px 8px rgba(0,0,0,.35));
}

#chair{filter:brightness(.84) saturate(.92) drop-shadow(0 24px 24px rgba(0,0,0,.68))}
#chair.dragging{filter:brightness(.84) saturate(.92) drop-shadow(0 34px 36px rgba(0,0,0,.9))}
#chair.pinned{filter:brightness(.84) saturate(.92) drop-shadow(0 24px 28px rgba(0,0,0,.82)) drop-shadow(0 0 16px rgba(255,215,180,.06))}


/* V17: the child no longer moves. Only the child area is highlighted in place. */
#painting-boy{
  left:72.0%; top:56.0%; width:16.8%; height:32.8%;
  overflow:hidden;
  clip-path:polygon(
    38% 0%, 62% 2%, 74% 12%, 78% 23%,
    74% 33%, 83% 45%, 89% 59%, 88% 74%,
    80% 88%, 68% 100%, 36% 100%, 20% 88%,
    12% 74%, 12% 57%, 18% 42%, 27% 31%,
    23% 18%, 27% 8%
  );
}
#painting-boy img{
  left:-428%;top:-174%;width:595%;height:auto;
  transform:none !important;
  transition:filter .28s ease, opacity .28s ease !important;
  filter:brightness(1) contrast(1) saturate(1) drop-shadow(0 0 0 rgba(0,0,0,0)) !important;
  opacity:1;
}
#painting:hover #painting-boy img,
#painting:focus-visible #painting-boy img{
  transform:none !important;
  filter:brightness(1.16) contrast(1.05) saturate(1.08) drop-shadow(0 0 10px rgba(205,214,225,.22)) !important;
}
#painting-boy::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 55% 26%, rgba(225,231,240,.14), rgba(225,231,240,0) 48%);
  transition:opacity .28s ease;
  mix-blend-mode:screen;
}
#painting:hover #painting-boy::after,
#painting:focus-visible #painting-boy::after{opacity:1}


/* V18: only the child's VR goggles highlight; original sculpture gets matching interactive goggles. */
#painting-boy{display:none !important;}

#child-vr-highlight{
  position:absolute;left:71.4%;top:62.2%;width:9.4%;height:7.6%;z-index:4;pointer-events:none;
  border-radius:46% 46% 42% 42% / 52% 52% 44% 44%;
  opacity:0;transition:opacity .24s ease, filter .24s ease;
}
#child-vr-highlight::before{
  content:"";position:absolute;left:-12%;right:-12%;top:39%;height:17%;border-radius:999px;
  background:linear-gradient(180deg,rgba(72,75,79,.72),rgba(18,20,23,.8));
  opacity:.55;
}
#child-vr-highlight .child-vr-lens{
  position:absolute;inset:0;border-radius:46% 46% 42% 42% / 52% 52% 44% 44%;
  background:
    linear-gradient(115deg,rgba(255,255,255,.42) 0 16%,rgba(255,255,255,0) 34%),
    linear-gradient(180deg,rgba(74,84,101,.42),rgba(15,17,21,.30));
  box-shadow:inset 0 0 0 1px rgba(215,226,242,.12);
}
#painting:hover #child-vr-highlight,
#painting:focus-visible #child-vr-highlight{
  opacity:1;filter:brightness(1.42) contrast(1.08);
}

#sculpture-vr{
  position:absolute;z-index:24;display:block;cursor:pointer;text-decoration:none;
  transform-origin:50% 50%;transition:filter .22s ease,transform .22s ease;
}
#sculpture-vr:focus-visible{outline:none}
#sculpture-vr .sculpture-vr-strap{
  position:absolute;left:-18%;right:-18%;top:38%;height:18%;border-radius:999px;
  background:linear-gradient(180deg,#373b41 0%,#15181c 100%);
  box-shadow:0 1px 4px rgba(0,0,0,.5);
}
#sculpture-vr .sculpture-vr-visor{
  position:absolute;inset:0;border-radius:46% 46% 42% 42% / 52% 52% 44% 44%;overflow:hidden;
  background:linear-gradient(180deg,#333942 0%,#101318 58%,#20242b 100%);
  box-shadow:0 0 0 1px rgba(128,139,154,.35),0 2px 5px rgba(0,0,0,.55),inset 0 0 6px rgba(255,255,255,.04);
}
#sculpture-vr .sculpture-vr-visor::before{
  content:"";position:absolute;inset:12% 8% 18%;border-radius:12px;
  background:linear-gradient(180deg,rgba(83,99,120,.42),rgba(21,25,31,.88));
  box-shadow:inset 0 0 0 1px rgba(191,211,238,.08);
}
#sculpture-vr .sculpture-vr-shine{
  position:absolute;left:12%;top:14%;width:44%;height:24%;border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.48),rgba(255,255,255,0));opacity:.28;transform:rotate(-9deg);
}
#sculpture-vr:hover,
#sculpture-vr:focus-visible{
  filter:brightness(1.45) drop-shadow(0 0 7px rgba(180,202,232,.26));
  transform:scale(1.05);
}

/* Remove the previous behind-the-child halo completely. */
#painting-boy::after{display:none !important;}


/* V19: remove both VR-goggle highlights and make the painting tilt almost imperceptibly on hover. */
#child-vr-highlight{display:none !important; opacity:0 !important; pointer-events:none !important;}
#sculpture-vr{display:none !important; opacity:0 !important; pointer-events:none !important;}
#painting{transform-origin:50% 50%; transition:transform .28s ease, filter .28s ease;}
#painting-image{transition:transform .28s ease, filter .28s ease !important;}
#painting:hover,
#painting:focus-visible{transform:rotate(-0.4deg) translateY(-1px) !important;}
#painting:hover #painting-image,
#painting:focus-visible #painting-image{transform:none !important; filter:drop-shadow(0 10px 14px rgba(0,0,0,.16)) !important;}


/* V20: even subtler painting hover tilt. */
#painting{transition:transform .24s ease, filter .24s ease;}
#painting:hover,
#painting:focus-visible{transform:rotate(-0.16deg) translateY(-0.5px) !important;}
#painting:hover #painting-image,
#painting:focus-visible #painting-image{filter:drop-shadow(0 6px 8px rgba(0,0,0,.10)) !important;}


/* V21: life-size silver courier sculpture by the left door, with clickable package to Amazon. */
#courier-prop{
  width:190px;height:430px;z-index:12;pointer-events:none;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.66));
}
#courier-prop .courier-figure{
  position:relative;width:100%;height:100%;pointer-events:none;
  transform:translateZ(0);
}
#courier-prop .courier-floor-shadow{
  position:absolute;left:18%;right:12%;bottom:12px;height:26px;border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.52) 0%, rgba(0,0,0,.14) 55%, rgba(0,0,0,0) 78%);
  filter:blur(5px);
}
#courier-prop .courier-base{
  position:absolute;left:21%;bottom:16px;width:59%;height:18px;border-radius:50% / 65%;
  background:linear-gradient(180deg,#7d838b 0%,#434850 100%);
  box-shadow:0 3px 7px rgba(0,0,0,.45), inset 0 1px 1px rgba(255,255,255,.2);
}
#courier-prop .courier-head,
#courier-prop .courier-ear,
#courier-prop .courier-torso,
#courier-prop .courier-collar,
#courier-prop .courier-cap,
#courier-prop .courier-arm,
#courier-prop .courier-hand,
#courier-prop .courier-leg,
#courier-prop .courier-shoe,
#courier-prop .courier-bag-strap{position:absolute;display:block}
#courier-prop .courier-head{
  left:38%;top:28px;width:24%;height:62px;border-radius:48% 52% 46% 54% / 46% 44% 56% 54%;
  background:linear-gradient(145deg,#f1f3f6 0%,#9aa3af 24%,#5c636d 57%,#d8dde5 78%,#6e7580 100%);
  box-shadow:inset -6px -10px 14px rgba(0,0,0,.16), inset 6px 6px 10px rgba(255,255,255,.22);
}
#courier-prop .courier-ear{left:58%;top:56px;width:6%;height:16px;border-radius:50%;background:linear-gradient(180deg,#c7cdd4,#6e7580)}
#courier-prop .courier-cap{
  left:35%;top:14px;width:32%;height:30px;border-radius:54% 54% 44% 44% / 80% 80% 26% 26%;
  background:linear-gradient(160deg,#eceff3 0%,#9ea7b3 26%,#5d646f 64%,#dbe0e7 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.35), inset 0 -8px 10px rgba(0,0,0,.18);
}
#courier-prop .courier-cap::after{
  content:"a";position:absolute;left:50%;top:7px;transform:translateX(-50%);font-size:16px;font-weight:700;
  color:rgba(58,63,68,.72);font-family:Arial,sans-serif;text-transform:lowercase;
}
#courier-prop .courier-torso{
  left:29%;top:84px;width:42%;height:166px;border-radius:22px 22px 34px 34px / 18px 18px 38px 38px;
  background:linear-gradient(155deg,#f6f7f9 0%,#bcc3cd 16%,#727a86 48%,#535a64 66%,#cfd5dc 85%,#7b838d 100%);
  box-shadow:inset -14px -18px 22px rgba(0,0,0,.14), inset 12px 12px 14px rgba(255,255,255,.18);
}
#courier-prop .courier-torso::before{
  content:"";position:absolute;left:50%;top:18px;bottom:26px;width:2px;transform:translateX(-50%);background:rgba(68,72,78,.35);
}
#courier-prop .courier-torso::after{
  content:"";position:absolute;left:26%;right:26%;top:12px;height:26px;border-radius:0 0 16px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(0,0,0,.06));
}
#courier-prop .courier-collar{
  left:39%;top:82px;width:22%;height:26px;
  background:linear-gradient(180deg,#eef1f4 0%,#9da5b0 100%);clip-path:polygon(0 0,50% 100%,100% 0,100% 18%,50% 88%,0 18%);
}
#courier-prop .courier-arm.left{
  left:18%;top:102px;width:20%;height:124px;border-radius:20px;transform:rotate(12deg);
  background:linear-gradient(160deg,#eef1f5 0%,#9fa8b2 24%,#636a74 66%,#d6dbe2 100%);
}
#courier-prop .courier-arm.right{
  right:16%;top:108px;width:20%;height:114px;border-radius:20px;transform:rotate(36deg);
  background:linear-gradient(160deg,#eef1f5 0%,#9fa8b2 24%,#636a74 66%,#d6dbe2 100%);
}
#courier-prop .courier-hand.left{left:18%;top:212px;width:12%;height:22px;border-radius:12px;background:linear-gradient(180deg,#dbe0e7,#727a84);transform:rotate(8deg)}
#courier-prop .courier-hand.right{right:10%;top:200px;width:13%;height:24px;border-radius:12px;background:linear-gradient(180deg,#dbe0e7,#727a84);transform:rotate(22deg)}
#courier-prop .courier-bag-strap{left:59%;top:98px;width:5px;height:130px;border-radius:999px;background:linear-gradient(180deg,#949ca6,#454b53)}
#courier-prop .courier-leg.left{
  left:33%;top:236px;width:14%;height:122px;border-radius:16px;transform:rotate(3deg);
  background:linear-gradient(160deg,#ecf0f5 0%,#9ea7b3 24%,#606874 64%,#cfd6de 100%);
}
#courier-prop .courier-leg.right{
  left:51%;top:236px;width:14%;height:122px;border-radius:16px;transform:rotate(-4deg);
  background:linear-gradient(160deg,#ecf0f5 0%,#9ea7b3 24%,#606874 64%,#cfd6de 100%);
}
#courier-prop .courier-shoe.left{left:28%;bottom:23px;width:24%;height:20px;border-radius:18px 10px 12px 18px;background:linear-gradient(180deg,#8b929b 0%,#40454c 100%)}
#courier-prop .courier-shoe.right{left:49%;bottom:21px;width:25%;height:20px;border-radius:10px 18px 18px 12px;background:linear-gradient(180deg,#8b929b 0%,#40454c 100%)}

#amazon-package{
  position:absolute;left:58%;top:150px;width:92px;height:74px;display:block;pointer-events:auto;
  transform-origin:20% 75%;transform:rotate(-10deg);transition:transform .24s ease, filter .24s ease;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.42));
}
#amazon-package:focus-visible{outline:none}
#amazon-package:hover,
#amazon-package:focus-visible{transform:rotate(-8deg) translateY(-4px) scale(1.03);filter:drop-shadow(0 10px 14px rgba(0,0,0,.48))}
#amazon-package .package-front,
#amazon-package .package-side,
#amazon-package .package-top,
#amazon-package .package-tape,
#amazon-package .package-smile{position:absolute;display:block}
#amazon-package .package-front{
  left:10px;right:8px;bottom:0;height:48px;border-radius:4px;
  background:linear-gradient(180deg,#d2a56d 0%,#a36f3e 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -8px 10px rgba(0,0,0,.14);
}
#amazon-package .package-side{
  right:0;top:18px;width:14px;height:48px;border-radius:3px;
  background:linear-gradient(180deg,#c18f58 0%,#8d5d32 100%);transform:skewY(-32deg);transform-origin:left top;
}
#amazon-package .package-top{
  left:10px;right:8px;top:8px;height:18px;border-radius:4px 4px 2px 2px;
  background:linear-gradient(180deg,#e3bb88 0%,#bc8852 100%);transform:skewX(-42deg);transform-origin:left bottom;
}
#amazon-package .package-tape{
  left:45px;top:8px;width:10px;height:58px;border-radius:2px;
  background:linear-gradient(180deg,#f1d8ab 0%,#c9ac75 100%);opacity:.95;
}
#amazon-package .package-smile{
  left:24px;bottom:14px;width:34px;height:13px;border-bottom:4px solid rgba(60,44,28,.58);border-radius:0 0 40px 40px;
}
#amazon-package::after{
  content:"BOOK";position:absolute;left:18px;bottom:24px;font:700 10px/1 Arial,sans-serif;letter-spacing:.12em;color:rgba(65,46,28,.68);
}

@media (max-width: 900px){
  #courier-prop{width:150px;height:340px}
  #amazon-package{left:56%;top:118px;width:74px;height:60px}
}


/* V22: more realistic high-polish contemporary chrome courier sculpture, moved inside left doorway. */
#courier-prop{
  width:205px;height:455px;z-index:11;pointer-events:none;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.72));
}
#courier-prop .courier-figure{
  position:relative;width:100%;height:100%;pointer-events:none;
  transform:perspective(900px) rotateY(-2deg);transform-origin:50% 100%;
}
#courier-prop .courier-floor-shadow{
  left:17%;right:13%;bottom:10px;height:24px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.62) 0%,rgba(0,0,0,.24) 50%,rgba(0,0,0,0) 78%);filter:blur(4px)
}
#courier-prop .courier-base{
  left:22%;bottom:13px;width:57%;height:14px;
  background:linear-gradient(180deg,#f7fbff 0%,#9ca8b5 16%,#4a525d 54%,#cdd6df 82%,#5b626b 100%);
  box-shadow:0 2px 7px rgba(0,0,0,.52),inset 0 1px 1px rgba(255,255,255,.68);
}

/* Shared chrome surface: multiple reflection bands to feel cast, polished and gallery-lit. */
#courier-prop .courier-head,
#courier-prop .courier-ear,
#courier-prop .courier-torso,
#courier-prop .courier-cap,
#courier-prop .courier-arm,
#courier-prop .courier-hand,
#courier-prop .courier-leg,
#courier-prop .courier-shoe{
  background:
    linear-gradient(112deg,
      #242931 0%,#7b8796 8%,#eef5fb 16%,#626d7a 25%,#d7e0e7 34%,#3b434e 47%,
      #f8fbfd 57%,#8c98a5 67%,#353b44 79%,#d7dfe6 90%,#5b6470 100%);
  box-shadow:
    inset 7px 0 12px rgba(255,255,255,.20),
    inset -9px -8px 14px rgba(0,0,0,.22),
    0 2px 4px rgba(0,0,0,.25);
}
#courier-prop .courier-head{
  left:39%;top:24px;width:22%;height:60px;
  border-radius:48% 52% 47% 53% / 43% 43% 57% 57%;
  transform:rotate(-2deg);
}
#courier-prop .courier-head::before{
  content:"";position:absolute;left:19%;right:18%;top:43%;height:3px;border-radius:50%;
  background:linear-gradient(90deg,rgba(26,30,35,.72),rgba(226,235,242,.45),rgba(26,30,35,.72));
  box-shadow:0 9px 0 -1px rgba(38,42,48,.56);
}
#courier-prop .courier-head::after{
  content:"";position:absolute;left:45%;top:45%;width:8%;height:22%;border-radius:50%;
  border-right:2px solid rgba(36,40,46,.55);transform:skewX(-8deg);
}
#courier-prop .courier-ear{left:59%;top:51px;width:5.5%;height:15px;border-radius:50%}
#courier-prop .courier-cap{
  left:35%;top:8px;width:34%;height:31px;
  border-radius:56% 56% 40% 40% / 82% 82% 24% 24%;
  transform:rotate(-2deg);
}
#courier-prop .courier-cap::before{
  content:"";position:absolute;right:-12%;bottom:1px;width:42%;height:8px;border-radius:3px 10px 8px 3px;
  background:linear-gradient(180deg,#eaf1f7,#737f8c 55%,#333941);
}
#courier-prop .courier-cap::after{
  content:"a";position:absolute;left:48%;top:8px;transform:translateX(-50%);font:700 14px/1 Arial,sans-serif;
  color:rgba(52,58,65,.62);text-shadow:0 1px 0 rgba(255,255,255,.2);
}
#courier-prop .courier-torso{
  left:29%;top:79px;width:42%;height:174px;
  border-radius:21px 21px 32px 32px / 17px 17px 38px 38px;
}
#courier-prop .courier-torso::before{
  content:"";position:absolute;left:50%;top:10px;bottom:18px;width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(30,34,40,.44),rgba(255,255,255,.28));
}
#courier-prop .courier-torso::after{
  content:"";position:absolute;left:14%;right:14%;top:44px;height:42px;border-radius:8px;
  background:linear-gradient(105deg,rgba(255,255,255,.10),rgba(15,18,23,.11),rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
#courier-prop .courier-collar{
  left:38%;top:77px;width:24%;height:29px;
  background:linear-gradient(145deg,#e5ecf2,#8f99a5 55%,#3d444d);
  clip-path:polygon(0 0,50% 100%,100% 0,83% 0,50% 70%,17% 0);
}
#courier-prop .courier-arm.left{
  left:18%;top:99px;width:19%;height:132px;border-radius:20px;transform:rotate(9deg);
}
#courier-prop .courier-arm.right{
  right:17%;top:105px;width:18%;height:126px;border-radius:20px;transform:rotate(29deg);
}
#courier-prop .courier-hand.left{left:18%;top:218px;width:12%;height:22px;border-radius:14px;transform:rotate(8deg)}
#courier-prop .courier-hand.right{right:10%;top:213px;width:12.5%;height:23px;border-radius:14px;transform:rotate(18deg)}
#courier-prop .courier-bag-strap{
  left:59%;top:96px;width:5px;height:145px;border-radius:999px;
  background:linear-gradient(90deg,#f0f4f8 0%,#777f89 35%,#2d333b 72%,#aab4bf 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.18)
}
#courier-prop .courier-leg.left{
  left:33%;top:242px;width:14%;height:132px;border-radius:16px;transform:rotate(2deg);
}
#courier-prop .courier-leg.right{
  left:51%;top:242px;width:14%;height:132px;border-radius:16px;transform:rotate(-3deg);
}
#courier-prop .courier-leg.left::before,
#courier-prop .courier-leg.right::before{
  content:"";position:absolute;left:10%;right:10%;top:47%;height:2px;background:rgba(26,30,36,.25);
}
#courier-prop .courier-shoe.left{left:27%;bottom:20px;width:25%;height:21px;border-radius:18px 10px 12px 18px}
#courier-prop .courier-shoe.right{left:49%;bottom:19px;width:26%;height:21px;border-radius:10px 18px 18px 12px}

/* Package becomes a polished sculptural box while remaining the only clickable part. */
#amazon-package{
  left:57%;top:153px;width:96px;height:76px;
  transform:rotate(-8deg);filter:drop-shadow(0 7px 10px rgba(0,0,0,.42));
}
#amazon-package:hover,
#amazon-package:focus-visible{transform:rotate(-7deg) translateY(-2px) scale(1.025);filter:drop-shadow(0 9px 12px rgba(0,0,0,.5))}
#amazon-package .package-front{
  background:linear-gradient(112deg,#a76e34 0%,#dfbd88 12%,#9b602e 30%,#e5c79b 48%,#a36835 68%,#d4aa75 100%);
  box-shadow:inset 6px 0 10px rgba(255,255,255,.13),inset -6px -5px 10px rgba(0,0,0,.16);
}
#amazon-package .package-side{background:linear-gradient(180deg,#b77f45 0%,#74431f 100%)}
#amazon-package .package-top{background:linear-gradient(180deg,#efd2a9 0%,#b87c42 100%)}
#amazon-package .package-tape{background:linear-gradient(180deg,#efe0c4 0%,#ba9a68 100%)}
#amazon-package::after{font-size:9px;letter-spacing:.1em;color:rgba(52,37,22,.68)}

@media(max-width:900px){
  #courier-prop{width:165px;height:365px}
  #amazon-package{left:56%;top:123px;width:78px;height:62px}
}


/* V23: replace CSS courier with the user's exact courier image and keep the package clickable. */
#courier-prop{
  width:150px;
  height:430px;
  z-index:12;
  pointer-events:none;
  transform-origin:center bottom;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.42));
}
#courier-prop .courier-figure,
#courier-prop .courier-floor-shadow,
#courier-prop .courier-base,
#courier-prop .courier-head,
#courier-prop .courier-ear,
#courier-prop .courier-torso,
#courier-prop .courier-collar,
#courier-prop .courier-cap,
#courier-prop .courier-arm,
#courier-prop .courier-hand,
#courier-prop .courier-leg,
#courier-prop .courier-shoe,
#courier-prop .courier-bag-strap{display:none !important;}
#courier-prop .courier-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  pointer-events:none;
  image-rendering:auto;
}
#amazon-package{
  position:absolute;
  left:55%;
  top:29.5%;
  width:39%;
  height:18%;
  display:block;
  pointer-events:auto;
  transform:rotate(-3deg);
  transform-origin:center center;
  border-radius:6px;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  box-shadow:none;
  background:transparent;
}
#amazon-package:hover,
#amazon-package:focus-visible{
  transform:rotate(-3deg) scale(1.03);
  background:rgba(255,255,255,.04);
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 0 16px rgba(255,255,255,.10);
  outline:none;
}
#amazon-package .package-front,
#amazon-package .package-side,
#amazon-package .package-top,
#amazon-package .package-tape,
#amazon-package .package-smile,
#amazon-package::after{display:none !important;content:none !important;}
@media (max-width: 900px){
  #courier-prop{width:118px;height:338px;}
}


/* V26 final courier/package overrides: deeper in left doorway, restore human scale, remove square hover highlight on package. */
#courier-prop{
  width:165px !important;
  height:490px !important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.34)) !important;
}
#courier-prop .courier-image{
  object-position:center bottom !important;
}
#amazon-package{
  left:55% !important;
  top:29.5% !important;
  width:39% !important;
  height:18% !important;
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  outline:none !important;
  transform:rotate(-5deg) !important;
  transition:transform .2s ease, filter .2s ease !important;
  filter:none !important;
}
#amazon-package:hover,
#amazon-package:focus-visible{
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  transform:rotate(-9deg) translateY(-2px) !important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.26)) !important;
}
@media (max-width: 900px){
  #courier-prop{width:132px !important; height:392px !important;}
  #amazon-package{left:55% !important; top:29.5% !important; width:39% !important; height:18% !important;}
}


/* V27: ensure Amazon package clearly clickable and opens the Amazon book link. */
#amazon-package{z-index:6 !important; cursor:pointer !important;}


/* V28: tighten the clickable area so it matches the courier's package much more closely. */
#amazon-package{
  left:53.8% !important;
  top:30.8% !important;
  width:44.6% !important;
  height:16.3% !important;
  border-radius:0 !important;
  clip-path:polygon(9% 28%, 16% 10%, 91% 7%, 99% 12%, 100% 82%, 93% 88%, 8% 85%, 0% 33%) !important;
  transform-origin:20% 52% !important;
  cursor:pointer !important;
}
#amazon-package:hover,
#amazon-package:focus-visible{
  clip-path:polygon(9% 28%, 16% 10%, 91% 7%, 99% 12%, 100% 82%, 93% 88%, 8% 85%, 0% 33%) !important;
  transform:rotate(-8deg) translateY(-2px) !important;
}
@media (max-width: 900px){
  #amazon-package{
    left:53.8% !important;
    top:30.8% !important;
    width:44.6% !important;
    height:16.3% !important;
  }
}


/* V29: Amazon logo side of package only */
#amazon-package{
  left:58.9% !important;
  top:34.1% !important;
  width:16.8% !important;
  height:7.8% !important;
  clip-path:none !important;
  border-radius:2px !important;
  transform-origin:center !important;
}
#amazon-package:hover,
#amazon-package:focus-visible{
  transform:rotate(-6deg) translateY(-2px) !important;
}


/* V30: make the Amazon link area match only the front face of the package (the side that says amazon). */
#amazon-package{
  left:65.8% !important;
  top:45.9% !important;
  width:31.4% !important;
  height:11.4% !important;
  clip-path:polygon(4% 5%, 96% 3%, 98% 94%, 7% 94%, 2% 9%) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:rotate(-4deg) !important;
  transform-origin:center center !important;
}
#amazon-package:hover,
#amazon-package:focus-visible{
  clip-path:polygon(4% 5%, 96% 3%, 98% 94%, 7% 94%, 2% 9%) !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:rotate(-6deg) translateY(-2px) !important;
}
@media (max-width: 900px){
  #amazon-package{
    left:65.8% !important;
    top:45.9% !important;
    width:31.4% !important;
    height:11.4% !important;
  }
}


/* V31: roaming spider-TV creature that walks across the floor and pauses on hover. */
#spider-tv-prop{
  position:absolute;left:75%;top:84%;width:min(15vw,220px);height:auto;display:block;z-index:14;cursor:pointer;
  transform-origin:50% 100%;
  transform:translate(-50%,-100%) scaleX(var(--spider-dir,1)) scale(var(--spider-scale,.62)) rotate(var(--spider-tilt,0deg));
  transition:filter .22s ease;will-change:left,top,transform,filter;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.74));
}
#spider-tv-prop:focus-visible{outline:none}
#spider-tv-prop::before{
  content:"";position:absolute;left:50%;bottom:2%;width:52%;height:8%;z-index:0;pointer-events:none;
  transform:translateX(-50%) scaleX(var(--spider-shadow-scale,1));
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(0,0,0,var(--spider-shadow-alpha,.42)) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,0) 74%);
  filter:blur(8px);
}
.spider-tv-image{
  position:relative;z-index:1;display:block;width:100%;height:auto;pointer-events:none;
  filter:brightness(.78) saturate(.92) contrast(1.06);
  animation:spiderTvBob 1.8s ease-in-out infinite;
  transform-origin:50% 78%;
  will-change:transform;
}
#spider-tv-prop.paused .spider-tv-image{animation-play-state:paused}
#spider-tv-prop:hover .spider-tv-image,
#spider-tv-prop:focus-visible .spider-tv-image{filter:brightness(.88) saturate(1) contrast(1.08)}
@keyframes spiderTvBob{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-6px) rotate(.25deg)}
}
@media(max-width:900px){
  #spider-tv-prop{width:min(24vw,190px)}
}


/* V32: metallic Jeff Koons-inspired title + hide bottom drag message */
#title{
  font-family: "Arial Black","Helvetica Neue",Arial,sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(18px, 1.6vw, 30px) !important;
  letter-spacing: .12em !important;
  line-height: 1.05 !important;
  color: #d6d8dc !important;
  background: linear-gradient(180deg, #f6f7fb 0%, #cfd3d8 20%, #8f949a 38%, #f9fafc 50%, #959aa1 63%, #6e747b 82%, #d8dde2 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35), 0 3px 14px rgba(0,0,0,.58), 0 0 28px rgba(255,255,255,.06);
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.18));
}
#title::after{
  content:""; position:absolute; left:0; top:.05em; width:100%; height:42%; pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  mix-blend-mode: screen; opacity:.35;
}
#title span{display:none !important}
#drag-message{display:none !important; opacity:0 !important; pointer-events:none !important}


/* V33: title refined to elegant, minimal metallic look with subtitle restored */
#title{
  position:absolute;
  top:3vh;
  left:2.5vw;
  z-index:30;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(18px, 1.85vw, 34px) !important;
  letter-spacing: .11em !important;
  line-height: 1.03 !important;
  text-transform: uppercase;
  background: linear-gradient(180deg, #f2f2f0 0%, #d7d3cd 26%, #a9a39c 48%, #ece9e5 62%, #8f8a84 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.18), 0 4px 12px rgba(0,0,0,.42);
  filter: none !important;
}
#title::after{display:none !important; content:none !important;}
#title span{
  display:block !important;
  margin-top:10px;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: .42em !important;
  font-weight: 400 !important;
  letter-spacing: .34em !important;
  line-height: 1.2;
  opacity: .78 !important;
  background: linear-gradient(180deg, #ddd9d3 0%, #a7a29b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.28);
}


/* V34: more sober and smaller title treatment */
#title{
  top:3.2vh !important;
  left:2.4vw !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-size: clamp(14px, 1.18vw, 22px) !important;
  letter-spacing: .14em !important;
  line-height: 1.08 !important;
  background: linear-gradient(180deg, #d9d5cf 0%, #bdb7b0 42%, #938d87 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.10), 0 2px 8px rgba(0,0,0,.28) !important;
}
#title span{
  margin-top:8px !important;
  font-size: .40em !important;
  font-weight: 400 !important;
  letter-spacing: .28em !important;
  opacity: .62 !important;
  background: linear-gradient(180deg, #beb8b1 0%, #8f8a84 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.18) !important;
}


/* V35: mobile instructions and refined Amazon logo */
@media (max-width:700px){
#instructions{top:3.2vh!important;right:3vw!important;left:auto!important;bottom:auto!important;width:42vw!important;text-align:right!important;font-size:clamp(8px,2.1vw,12px)!important;line-height:1.55!important;letter-spacing:.10em!important;opacity:.78!important;z-index:35!important}
}
#amazon-package::before{content:"amazon";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Arial,Helvetica,sans-serif;font-size:clamp(7px,.55vw,11px);font-weight:700;letter-spacing:.04em;color:#171717;background:linear-gradient(145deg,#d6d6d3,#969696);border-radius:2px;opacity:.92;pointer-events:none}
#amazon-package:hover::before{filter:brightness(1.08)}


/* V36: restore original Amazon package appearance. Fix mobile visibility of courier/package. */
#amazon-package::before{
  content:none !important;
  display:none !important;
}

@media (max-width:700px){
  #courier-prop{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:165px !important;
    height:490px !important;
    z-index:40 !important;
  }

  #amazon-package{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    z-index:45 !important;
  }

  #instructions{
    z-index:35 !important;
  }
}
