.wm02-root .cassette-door{position:absolute;left:171px;top:368px;width:713px;height:345px;z-index:15;pointer-events:none}.wm02-root .cassette-door img{position:absolute;inset:0;width:100%;height:100%}.wm02-root .cassette-door .door-glass{position:absolute;left:41px;top:56px;width:637px;height:223px;background:linear-gradient(119deg,transparent 19%,#d5e5e817 27%,#edf6f626 29%,#cadcde0a 34%,transparent 46%),linear-gradient(#10181a12,#080f132a);box-shadow:inset 0 2px 4px #0008,inset 0 0 0 1px #b9ced329;pointer-events:none}
.wm02-root .door-scale{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wm02-root .cassette-door{transform-origin:50% 100%;transform:perspective(1400px) rotateX(0deg);transition:transform 760ms cubic-bezier(.22,.8,.23,1),filter 760ms;backface-visibility:visible;transform-style:preserve-3d}
.wm02-root .cassette-door::after{display:none;content:'';position:absolute;bottom:-3px;left:2px;right:2px;height:4px;background:linear-gradient(#687274,#111719);border-radius:1px;pointer-events:none}
.wm02-root .cassette-door .door-rear{transform:translateZ(-12px);filter:brightness(.66);backface-visibility:visible}
.wm02-root .door-wall{position:absolute;backface-visibility:visible;background:linear-gradient(90deg,#182123,#869291 12%,#485657 30%,#273335 76%,#101719);border:1px solid #61717080;box-sizing:border-box}
.wm02-root .door-wall.horizontal{height:12px;transform-origin:50% 0;transform:rotateX(-90deg);background:linear-gradient(#899b9d,#516267 18%,#253136 55%,#0f181b)}
.wm02-root .door-wall.vertical{width:12px;transform-origin:0 50%;transform:rotateY(90deg)}
.wm02-root .door-wall.inner{background:linear-gradient(#bac7c9a0,#56696f 20%,#26353b 65%,#0e171b);border-color:#9badae60}
.wm02-root .cassette-door .door-glass{transform:translateZ(-2px);box-sizing:border-box;border-radius:11px;border:1px solid #adbbbd70;box-shadow:inset 0 0 0 2px #0c171b80,inset 0 2px 4px #cedfe34d}
.wm02-root.door-open .door-glass{background:linear-gradient(112deg,#a8c5d02b 0%,#e0f1f454 27%,#9cb9c228 43%,#263a4229 70%),linear-gradient(#1c303840,#0b19234d)}
.wm02-root .cassette-door .door-scale{transform:translateZ(-1.5px)}
.wm02-root .cassette-door>img{border-radius:14px}
.wm02-root .door-wall{border-radius:6px;border-color:#5c72734d}
.wm02-root .door-wall.horizontal{background:linear-gradient(#50666a 0%,#91a4a6 16%,#667d81 32%,#3c5259 62%,#17272e 92%)}
.wm02-root .door-wall.inner{border-radius:5px;background:linear-gradient(#b2c3c380,#81999e 18%,#4c666e 40%,#263e49 73%,#132630)}
.wm02-root .door-bevel{position:absolute;inset:0;width:100%;height:100%;transform:translateZ(.5px);pointer-events:none}
/* The approved 1536×1024 assembly is uniformly mapped into the shared 750×500 machine. */
.wm02-root{position:absolute;left:0;top:0;width:1536px;height:1024px;transform:scale(.48828125);transform-origin:0 0;isolation:isolate}.wm02-root[hidden]{display:none}
.machine[data-player=cassette02]>:not(.wm02-root){visibility:hidden;pointer-events:none}.machine[data-player=cassette02]::after{display:none}
.wm02-root img{position:absolute;pointer-events:none}.wm02-body{inset:0;z-index:0}.wm02-cassette-mount{position:absolute;left:171px;top:368px;width:713px;height:249px;z-index:12;overflow:hidden;border-radius:12px 12px 0 0;pointer-events:none;background:#141718}
.wm02-fixed-cassette{inset:0;width:100%;height:100%;object-fit:fill}
.wm02-reel{position:absolute;top:27px;width:304px;height:304px;--reel-start:0deg;animation:wm02-reel-turn 10s linear infinite;animation-play-state:paused;filter:drop-shadow(2px 4px 3px #0008)}
.wm02-reel.left{left:35px}.wm02-reel.right{left:374px;--reel-start:24deg;animation-duration:9s}
.wm02-reel .wm02-silver-disc{inset:0;width:100%;height:100%}
.wm02-reel-caption,.wm02-reel-number{position:absolute;left:88px;width:128px;color:#303235;text-align:center;font-family:Arial,sans-serif;line-height:1;font-weight:600;pointer-events:none}
.wm02-reel-caption{top:34px;font-size:17px;letter-spacing:1px}.wm02-reel-number{top:55px;font-size:34px}
.wm02-root.playing .wm02-reel{animation-play-state:running}
@keyframes wm02-reel-turn{from{transform:rotate(var(--reel-start))}to{transform:rotate(calc(var(--reel-start) + 360deg))}}
@media(prefers-reduced-motion:reduce){.wm02-reel{animation:none;transform:rotate(var(--reel-start))}}
.wm02-inner-bay{position:absolute;left:171px;top:368px;width:713px;height:345px;z-index:10;background:linear-gradient(145deg,#101416,#222729 55%,#101315);box-shadow:inset 0 0 0 5px #0a0d0e,inset 0 12px 18px #0009;border-radius:5px;opacity:0;transition:opacity 500ms;pointer-events:none}.wm02-root.door-open .wm02-inner-bay{opacity:1}
.wm02-root.door-open .cassette-door{transform:perspective(1400px) rotateX(-76deg);z-index:30}
.wm02-hit{position:absolute;z-index:25;border:0;padding:0;background:none;border-radius:6px;cursor:pointer;touch-action:manipulation}.wm02-hit>img{inset:0;width:100%;height:100%;transition:transform 120ms}.wm02-hit:active>img,.wm02-hit.pressed>img{transform:translateY(5px)}.wm02-hit:focus-visible{background:#ffffff12;filter:brightness(1.12)}.wm02-hit:disabled{cursor:wait}
.wm02-range{appearance:none;opacity:.001;cursor:ew-resize;margin:0}.wm02-range#wm02-seek{writing-mode:vertical-lr;direction:rtl;cursor:ns-resize}.wm02-wheel{z-index:20}.wm02-close{z-index:50!important;pointer-events:auto}.wm02-close[hidden]{display:none}
.wm02-drag{position:absolute;z-index:50;cursor:grab;touch-action:none}.wm02-drag:active{cursor:grabbing}
.wm02-feedback{position:absolute;z-index:55;font:500 25px 'Heiti SC','PingFang SC',sans-serif;color:var(--scene-ink,#45443f);white-space:nowrap;opacity:0;pointer-events:none;text-align:center;transition:opacity 180ms}.wm02-feedback.visible{opacity:1}
.wm02-heart{z-index:26;display:none}.wm02-root.liked .wm02-heart{display:block;animation:wm02-breath 2.8s ease-in-out infinite}@keyframes wm02-breath{0%,100%{filter:brightness(.95) drop-shadow(0 0 2px #ff442bcc) drop-shadow(0 0 5px #ff301e66)}50%{filter:brightness(1.65) drop-shadow(0 0 3px #ff9a79) drop-shadow(0 0 9px #ff412ed9) drop-shadow(0 0 16px #ff321a70)}}
.wm02-mode-light{position:absolute;left:1098px;width:17px;height:5px;z-index:26;background:#e13728;box-shadow:0 0 5px #e1372870;pointer-events:none}.wm02-mode-light[hidden]{display:none}.wm02-mode:active::before,.wm02-mode.pressed::before{content:'';position:absolute;left:5px;top:4px;width:27px;height:calc(100% - 8px);background:#0005;box-shadow:inset 0 3px 4px #000b}
.wm02-pointer{z-index:25}.wm02-progress-line{position:absolute;left:968px;width:48px;height:3px;background:#d93e33;z-index:25;pointer-events:none}.wm02-time{position:absolute;left:949px;top:740px;width:110px;font:23px monospace;color:#ddd;text-align:center;z-index:25}
@media(prefers-reduced-motion:reduce){.wm02-root .cassette-door,.wm02-cassette-mount,.wm02-inner-bay,.wm02-hit>img{transition:none}.wm02-root.liked .wm02-heart{animation:none;filter:brightness(1.35) drop-shadow(0 0 8px #ff412eaa)}}

.wm02-level{position:absolute;z-index:24;background:#ca3c31;box-shadow:0 0 5px #ff392b70;opacity:0;pointer-events:none}

.wm02-volume-marker{position:absolute;top:143px;width:3px;height:15px;transform:translateX(-50%);z-index:26;background:#fff;border-radius:1px;box-shadow:1px 1px 1px #000a;pointer-events:none}.wm02-range#wm02-volume{touch-action:none}.wm02-range#wm02-volume:focus,.wm02-range#wm02-volume:focus-visible{opacity:.001;background:transparent;outline:none}.wm02-range#wm02-volume:focus-visible::-webkit-slider-thumb{opacity:0}.wm02-root.volume-adjusting .wm02-wheel{filter:brightness(1.12)}

/* Reuse the adjacent blank panel texture over the baked LIKE caption. */
.wm02-like-label-cover{position:absolute;left:268px;top:755px;width:80px;height:42px;z-index:1;pointer-events:none;background:#fff url('assets/cassette02/fixed-body-user-v1.png') -268px -718px/1536px 1024px no-repeat;mask-image:linear-gradient(to right,transparent,#000 4px,#000 calc(100% - 4px),transparent),linear-gradient(to bottom,transparent,#000 4px,#000 calc(100% - 4px),transparent);mask-composite:intersect}

.wm02-mode-heading{position:absolute;left:1080px;top:354px;width:137px;height:49px;display:flex;align-items:center;justify-content:center;z-index:24;pointer-events:none;white-space:nowrap;color:#f2f2f2;font:500 25px Arial,'Heiti SC','PingFang SC',sans-serif;background:#fff url('assets/cassette02/fixed-body-user-v1.png') -1080px -741px/1536px 1024px no-repeat;mask-image:linear-gradient(to right,transparent,#000 4px,#000 calc(100% - 4px),transparent),linear-gradient(to bottom,transparent,#000 4px,#000 calc(100% - 4px),transparent);mask-composite:intersect}

.wm02-volume-caption-cover{position:absolute;z-index:1;pointer-events:none;background:#fff url('assets/cassette02/fixed-body-user-v1.png') no-repeat;background-size:1536px 1024px;mask-image:linear-gradient(to right,transparent,#000 2px,#000 calc(100% - 2px),transparent),linear-gradient(to bottom,transparent,#000 2px,#000 calc(100% - 2px),transparent);mask-composite:intersect}

/* Two opaque horizontal faces; clear sides follow the real hardware. */
.wm02-root .cassette-door .door-front{opacity:1}.wm02-root .cassette-door .door-rear{opacity:.1}.wm02-root .cassette-door .door-glass{background:linear-gradient(119deg,transparent 19%,#d5e5e80a 27%,#edf6f614 29%,#cadcde05 34%,transparent 46%),linear-gradient(#10181a05,#080f130d)}

.wm02-feedback.like-feedback{box-sizing:border-box;padding:0 18px;border-radius:0;background:transparent;color:var(--scene-ink,#45443f);white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:center;box-shadow:none}

.wm02-root.volume-keyboard-focus .wm02-wheel{filter:brightness(1.2) drop-shadow(0 1px 2px #fff8)}

/* Closed sidewalls must not project square seams through the rounded face. */
.wm02-root:not(.door-open) .cassette-door .door-rear{opacity:0}
.wm02-root .door-wall{opacity:0;transition:opacity 150ms}
.wm02-root.door-open .door-wall{opacity:1}

.wm02-root .cassette-door .door-glass{left:0;top:0;width:713px;height:249px;border:0;border-radius:12px 12px 0 0;box-shadow:inset 0 2px 3px #0009,inset 0 -1px 2px #b8c3c32b;background:linear-gradient(119deg,transparent 15%,#e3eef008 25%,#edf6f628 29%,transparent 37%),linear-gradient(#0c10121f,#080c0e33)}
.wm02-root.door-open .cassette-door .door-rear{opacity:.7}

.wm02-root .cassette-door .wm02-bay-sticker{left:0;top:2px;width:210px;height:245px}
.wm02-bay-marquee{position:absolute;left:87px;right:87px;top:277px;height:54px;overflow:hidden;white-space:nowrap;color:#e0ded7;font:400 40px 'Heiti SC','PingFang SC',Arial,sans-serif;line-height:54px;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent)}
.wm02-bay-scroll{display:flex;width:100%;justify-content:center}.wm02-bay-marquee.overflow .wm02-bay-scroll{width:max-content;justify-content:flex-start;animation:wm02-bay-scroll 16s linear infinite}
.wm02-bay-scroll>span{box-sizing:border-box;flex-shrink:0}.wm02-bay-scroll>span[aria-hidden]{display:none}.wm02-bay-marquee.overflow .wm02-bay-scroll>span{display:block;min-width:539px;padding-right:64px}
@keyframes wm02-bay-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.wm02-bay-marquee.overflow .wm02-bay-scroll{animation:none}.wm02-bay-marquee{overflow-x:auto;pointer-events:auto;mask-image:none}.wm02-bay-marquee.overflow .wm02-bay-scroll>span[aria-hidden]{display:none}}

/* Enlarged original silver wordmark, with its metal texture and proportions retained. */
.wm02-wordmark-cover{position:absolute;left:267px;top:730px;width:507px;height:108px;z-index:2;pointer-events:none;background:url('assets/cassette02/wordmark-panel.svg') 0 0/100% 100% no-repeat;mask-image:linear-gradient(to right,transparent,#000 8px,#000 calc(100% - 8px),transparent),linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 8px),transparent);mask-composite:intersect}
.wm02-root .wm02-wordmark{left:275px;top:744px;width:490px;height:79.852px;z-index:3;pointer-events:none}

/* A separate photographed paper layer carries wear and creases over changing artwork. */
.wm02-poster-sticker{position:absolute;left:774px;top:700px;width:144px;height:144px;z-index:18;pointer-events:auto;cursor:pointer;border:0;padding:0;background:transparent;border-radius:50%;transform:rotate(-9deg);isolation:isolate;filter:drop-shadow(1px 2px 1px #0008) drop-shadow(0 0 .5px #0005)}
.wm02-poster-sticker[hidden]{display:none}
.wm02-root .wm02-poster-sticker>.wm02-poster-paper{inset:0;width:100%;height:100%;filter:grayscale(.95) brightness(1.13)}
.wm02-root .wm02-poster-sticker>.wm02-poster-image{left:5px;top:5px;width:134px;height:134px;object-fit:cover;filter:saturate(.9) contrast(.94);mask-image:url('assets/cassette02/paper-sticker-worn-v1.png'),linear-gradient(135deg,#000 0 84%,transparent 85%);mask-size:100% 100%;mask-composite:intersect}
.wm02-poster-sticker::after{content:'';position:absolute;inset:0;background:url('assets/cassette02/paper-sticker-worn-v1.png') center/100% 100% no-repeat;mix-blend-mode:multiply;opacity:.95;filter:grayscale(.95) brightness(1.13)}
.wm02-poster-sticker::before{content:'';position:absolute;inset:5px;z-index:1;pointer-events:none;background:linear-gradient(144deg,transparent 35%,#fff2 35.6%,transparent 36.8%,transparent 64%,#fff2 64.6%,transparent 65.8%);mask:url('assets/cassette02/paper-sticker-worn-v1.png') center/100% 100% no-repeat}




/* Reveal the complete cassette only while it leaves or enters the window. */
.wm02-full-shell{display:none;left:0;top:0;width:713px;height:430px}
.wm02-cassette-mount.cassette-extracting{height:430px;overflow:visible;z-index:50;background:transparent;border-radius:14px}
.cassette-extracting .wm02-fixed-cassette{display:none}
.cassette-extracting .wm02-full-shell{display:block}

/* Keep the wider 02 shell inside narrow windows at the default group scale. */
@media(max-width:880px){.skin-cassette02 .ensemble.is-browsing .stage{left:calc(50% - 78px);overflow:visible}}
