/* NOSHIBA: photographed walnut material, physical damage, and working controls. */
.alley-section{padding-top:140px}
.alley-cabinet{--wood:url('images/noshiba-weathered-walnut.png');grid-template-columns:minmax(0,1fr) 108px;column-gap:24px;padding:34px 30px 16px;border:5px solid #332014;border-radius:17px 20px 14px 16px;background:linear-gradient(110deg,#160a0311,transparent 42%,#05080255),var(--wood) center/cover;box-shadow:inset 3px 3px 2px #bc946877,inset -5px -7px 8px #100b06cc,0 11px 0 -2px #22170e,0 24px 33px #000d}
.alley-cabinet:before{display:none}
.alley-cabinet:after{inset:1px;border-radius:12px;border:2px solid #bd986d44;background:radial-gradient(ellipse at 3% 98%,#06110dd9,transparent 25%),radial-gradient(ellipse at 100% 4%,#0b130dcc,transparent 23%);box-shadow:inset 0 -9px 6px -7px #dbb88c77}
.alley-cabinet .alley-hardware{grid-column:2;grid-row:1/3;border:0;padding:0;gap:14px;min-height:0}
.alley-cabinet .alley-glass{grid-column:1;grid-row:1;border:12px solid #24221a;border-top-color:#0c100c;border-bottom-color:#6a634b;border-radius:40px / 34px;box-shadow:0 0 0 3px #15130f,inset 0 0 45px 10px #000c,0 4px 3px #c4b39433}
.home-page .alley-cabinet .alley-bezel{grid-column:1;grid-row:2;display:flex;justify-content:center;align-items:center;padding:9px 0 0;gap:0}
.alley-cabinet .alley-bezel>.noshiba-brand:last-child{order:0;width:auto;margin:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:2px 12px;background:linear-gradient(#80735c,#4c4435);border:1px solid #9b896444;box-shadow:0 2px 3px #0009;color:#e0d5b6;font:700 19px/1 Arial,sans-serif;letter-spacing:3px;text-shadow:1px 2px #141810;transform:rotate(-.5deg)}
.noshiba-mascot{width:34px;height:29px;filter:sepia(.15)}
.alley-cabinet .alley-speaker-grille{flex:1;width:86%;min-height:30px;background:radial-gradient(ellipse at 20% 85%,#0b0e0799,transparent 65%),repeating-linear-gradient(0deg,#10130c 0 3px,#817456 4px,#38372a 5px 8px);box-shadow:inset 4px 3px 9px #020401;border:2px inset #625238;border-radius:4px}
.alley-volume-control{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;color:#e2d0a4;font:14px/1.1 monospace;letter-spacing:1px;text-shadow:1px 2px #000}
.alley-volume-knob{position:relative;display:block;width:72px;height:72px;touch-action:none}
.alley-volume-face{position:absolute;inset:0;border:5px solid #26261c;border-radius:50%;background:repeating-conic-gradient(#9d9073 0deg 3deg,#35372a 3deg 9deg);box-shadow:1px 5px 5px #000c,inset 1px 2px 3px #e2d7b966;transform:rotate(var(--volume-angle,54deg))}
.alley-volume-face:after{content:'';position:absolute;inset:7px;border:1px solid #726b52;border-radius:50%;background:linear-gradient(90deg,transparent 46%,#d6c592 47% 54%,transparent 55%) center top/100% 42% no-repeat,radial-gradient(circle at 40% 25%,#5e604b,#1b2116)}
#alley-volume{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:ew-resize;touch-action:none}
.alley-volume-knob:focus-within{outline:2px solid #d8edaf;outline-offset:4px;border-radius:50%}
#alley-volume-value{font-size:12px;min-height:14px}
.alley-cabinet .alley-power{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-height:56px;padding:7px 4px;letter-spacing:0;font-size:14px;border:2px outset #6d624a;background:linear-gradient(125deg,#55533f,#151c11);color:#e0d2ac}
.alley-cabinet .alley-power .alley-led{margin:0}
.alley-chat-tools{display:flex;justify-content:flex-end;margin-bottom:10px}
.alley-antennas{position:absolute;bottom:100%;left:50%;width:100px;height:15px;transform:translateX(-50%);pointer-events:none;z-index:-1}
.alley-antennas span{position:absolute;bottom:-3px;left:20px;width:65px;height:19px;border-radius:70% 70% 0 0;background:linear-gradient(110deg,#323b2d,#a0a291 42%,#252e20 80%);border:2px solid #181e14}
.alley-antennas i{position:absolute;bottom:10px;left:44px;width:5px;height:105px;transform-origin:bottom;background:linear-gradient(90deg,#292b21,#c0c3b0 45%,#4b4f3e 80%);transform:rotate(-44deg);border-radius:3px}
.alley-antennas i:after{content:'';position:absolute;bottom:94%;left:0;width:3px;height:38px;background:linear-gradient(90deg,#d2c9a2,#5c4a2c);transform:rotate(-12deg);transform-origin:bottom;border-radius:2px}
.alley-antennas i:nth-child(2){left:57px;height:114px;transform:rotate(43deg)}
.alley-antennas i:nth-child(2):after{transform:rotate(17deg);height:27px}
.alley-tv .alley-glass .alley-screen-wear{position:absolute;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;visibility:visible;filter:drop-shadow(1px 1px 1px #010602)}
.alley-tv:not(.is-on) .alley-glass .alley-screen-wear{opacity:.6}
.alley-tv .alley-glass:after{z-index:6;background:radial-gradient(ellipse,transparent 45%,#000b 100%),repeating-linear-gradient(0deg,transparent 0 2px,#0006 3px,transparent 4px)}
.alley-roach{width:66px;height:42px;filter:drop-shadow(0 1px 1px #000b)}
.alley-roach.is-crawling .roach-legs{animation:none;transform-origin:55px 37px}
.alley-roach.is-crawling .roach-legs-a{animation:noshiba-bug-legs .09s steps(2,end) infinite}
.alley-roach.is-crawling .roach-legs-b{animation:noshiba-bug-legs .09s steps(2,end) -.045s infinite}
.alley-roach.is-crawling .roach-feelers{animation:noshiba-feelers .13s steps(2,end) infinite;transform-origin:80px 36px}
@keyframes noshiba-bug-legs{from{transform:rotate(-10deg)}to{transform:rotate(10deg)}}
@keyframes noshiba-feelers{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@media(max-width:600px){
.alley-section{padding-top:108px}
.alley-cabinet{grid-template-columns:minmax(0,1fr) 56px;column-gap:10px;padding:17px 10px 9px;border-width:4px;border-radius:12px}
.alley-cabinet .alley-glass{border-width:6px;border-radius:24px / 22px}
.alley-cabinet .alley-hardware{padding:0;gap:7px}
.alley-volume-control{gap:3px;font-size:9px;letter-spacing:.5px}
.alley-volume-knob{width:44px;height:44px}
.alley-volume-face{border-width:3px}
.alley-volume-face:after{inset:4px}
#alley-volume-value{font-size:9px;min-height:9px}
.alley-cabinet .alley-speaker-grille{width:42px;min-height:10px}
.alley-cabinet .alley-power{min-height:44px;font-size:10px;gap:5px}
.home-page .alley-cabinet .alley-bezel{padding-top:6px}
.alley-cabinet .alley-bezel>.noshiba-brand:last-child{font-size:12px;letter-spacing:1.5px;gap:4px;padding:1px 6px}
.noshiba-mascot{width:23px;height:20px}
.alley-antennas{transform:translateX(-50%) scale(.7);transform-origin:bottom}
.alley-roach{width:48px;height:30px}
}
@media(prefers-reduced-motion:reduce){.alley-tv.is-on:not(.is-starting) .alley-portrait{animation:none!important}.alley-vhs-damage,.alley-roach{display:none}}

.alley-cabinet .alley-portrait.alley-breathing{background-image:url('alley-wired-cutout.png'),url('images/alleyway-pixel-dirty.png');background-size:200% 200%,cover;background-position:0 0,center}
.alley-cabinet .alley-portrait.alley-breathing.motion-ready{background-image:none}

/* Photographic glass and manufactured metal badge replace the vector decoration. */
.alley-tv .alley-glass .alley-screen-wear{object-fit:fill;opacity:.58;filter:none;border-radius:inherit;mix-blend-mode:normal}
.alley-tv:not(.is-on) .alley-glass .alley-screen-wear{opacity:.36}
.alley-tv .alley-glass:after{background:radial-gradient(ellipse,transparent 55%,#0009 100%);z-index:6}
.alley-portrait:after{display:none}
.alley-tv.is-on:not(.is-starting) .alley-portrait{animation:none!important}
.alley-cabinet .alley-bezel>.noshiba-brand:last-child{display:block;width:clamp(130px,28vw,220px);aspect-ratio:5.3;overflow:hidden;padding:0;margin:0;background:none;border:0;box-shadow:none;transform:none}
.noshiba-brand img{display:block;width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 1px 1px #000a)}
@media(max-width:600px){.alley-cabinet .alley-bezel>.noshiba-brand:last-child{width:128px;padding:0}}

/* Photographic mechanical controls: fixed 0–10 scale with a separately rotating knob. */
.alley-volume-control{position:relative;display:block;width:108px;aspect-ratio:1;height:auto;flex:none;gap:0;letter-spacing:0;text-shadow:none}
.alley-volume-scale{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.alley-volume-control .alley-volume-knob{position:absolute;left:50%;top:48%;width:57%;height:57%;transform:translate(-50%,-50%);min-width:44px;min-height:44px}
.alley-volume-face{border:0;border-radius:0;background:url('images/noshiba-volume-knob.png') center/contain no-repeat;box-shadow:none;transform:rotate(var(--volume-angle,46.8deg));filter:drop-shadow(0 2px 1px #0008)}
.alley-volume-face:after{display:none}
.alley-volume-control #alley-volume-value{min-height:0}
.alley-cabinet .alley-power{position:relative;display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;padding:0;border:0;border-image:none;border-radius:0;background:none;box-shadow:none}
.alley-cabinet .alley-power img{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 2px 1px #0009)}
.alley-cabinet .alley-power:active{box-shadow:none}
.alley-cabinet .alley-power:active img{transform:translateY(1px);filter:brightness(.85)}
.alley-cabinet .alley-power .alley-led{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);z-index:1;margin:0;width:5px;height:5px}
.alley-cabinet .alley-power:focus-visible{outline-offset:2px}
@media(max-width:600px){
.alley-cabinet{grid-template-columns:minmax(0,1fr) 72px}
.alley-volume-control{width:72px}
.alley-volume-control .alley-volume-knob{width:57%;height:57%;min-width:44px;min-height:44px}
.alley-cabinet .alley-power{min-height:44px;padding:0}
.alley-cabinet .alley-speaker-grille{width:58px}
}

/* All physical TV hardware now uses photographic assets. */
.alley-antennas{width:clamp(190px,45%,330px);height:auto;bottom:calc(100% - 5px);left:50%;transform:translateX(-50%);z-index:0;filter:drop-shadow(1px 2px 1px #0008)}
.alley-section{padding-top:185px}
.alley-cabinet .alley-speaker-grille{background:url('images/noshiba-speaker-photo.png') center/100% 100% no-repeat;border:0;border-radius:0;box-shadow:none;opacity:1}
.alley-roach{width:78px;height:78px;background-image:url('images/alley-roach-photo.png');background-size:200% 200%;background-position:0 0;filter:drop-shadow(0 1px 1px #000b);transform-origin:center}
.alley-roach.is-crawling{animation:alley-photo-roach .16s steps(1,end) infinite}
@keyframes alley-photo-roach{0%,100%{background-position:0 0}25%{background-position:100% 0}50%{background-position:0 100%}75%{background-position:100% 100%}}
.alley-scare-canvas{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.alley-tv.is-starting .alley-scare{animation:none}
/* High-contrast tape OSD stays legible above the physical glass. */
.alley-cabinet .alley-name{z-index:8;bottom:0;padding:10px 8px 9px;color:#f7f8eb;background:linear-gradient(transparent,#0009);font-family:var(--terminal);text-shadow:-2px 0 #030503,2px 0 #030503,0 -2px #030503,0 2px #030503,2px 2px #030503;pointer-events:none}
.alley-cabinet .alley-name strong{font-size:clamp(26px,4vw,42px);line-height:1;letter-spacing:1px;font-weight:400}
.alley-cabinet .alley-name span{display:block;font-size:clamp(17px,2.3vw,25px);line-height:1.1;letter-spacing:1px;margin-top:2px;color:#f7f8eb}
@media(max-width:600px){.alley-section{padding-top:120px}.alley-antennas{width:190px;transform:translateX(-50%)}.alley-roach{width:58px;height:58px}.alley-cabinet .alley-name{padding:5px 4px}.alley-cabinet .alley-name strong{font-size:24px}.alley-cabinet .alley-name span{font-size:15px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){.alley-roach.is-crawling{animation:none}.alley-tv.is-starting .alley-scare{display:none}}

.alley-tv.is-starting .alley-glass>.alley-screen-wear{visibility:visible}

/* Animate only the displayed signal: the physical glass and cabinet stay stationary. */
.alley-tv.is-on .alley-glass{animation:none!important}
.alley-power-fx{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;image-rendering:pixelated}
.alley-tv.is-crt-transition .alley-glass>.alley-power-fx{display:block;visibility:visible}
.alley-tv.is-crt-transition .alley-glass>.alley-screen-wear{visibility:visible}
.alley-tv.is-crt-transition .alley-scare{display:none!important}
.alley-tv.is-crt-transition .alley-name,.alley-tv.is-crt-transition .alley-channel,.alley-tv.is-crt-transition .alley-portrait{visibility:hidden}
