:root{--wall: #78857a;--wall-dark: #5f6b62;--oak: #c49a62;--oak-mid: #a87c46;--oak-dark: #7d5730;--oak-light: #ddb887;--panel: #c3c4bf;--panel-dark: #9b9c97;--panel-light: #e2e3de;--screen: #080b0a;--led-green: #59e39a;--led-red: #e2483a;--led-amber: #f2b134;--ink: #221f1a;--paper: #f2efe8;--focus: #f2b134;--reel-size: 8.6%;--reel-top: 38.33%;--reel-left-x: 28.19%;--reel-right-x: 62.95%;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body{margin:0;padding:0;background:var(--wall);color:var(--paper);font-family:Helvetica Neue,Arial,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}body{background:radial-gradient(120% 90% at 50% 10%,#8a9789 0%,var(--wall) 45%,var(--wall-dark) 100%);min-height:100vh}.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--paper);color:var(--ink);padding:.6em 1em}.skip-link:focus{left:8px;top:8px}.site-head{display:flex;align-items:center;gap:clamp(.6rem,2.5vw,1rem);padding:1.4rem clamp(1rem,4vw,2.5rem) .4rem;max-width:1100px;margin:0 auto}.site-head__logo{height:26px;width:auto;filter:invert(1) brightness(1.8);opacity:.9}.site-head{position:relative;min-height:82px;padding-right:170px}.site-head__home{position:absolute;left:50%;top:20px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:126px;min-height:46px;border:1px solid #3ddc57;border-radius:5px;background:#0c160e;box-shadow:inset 0 0 14px #66ff6614,0 0 8px #66ff661f}.site-head__home-logo{display:block;width:96px;height:35px;background:#6f6;-webkit-mask:url(../assets/brand/lifelong-logo-official-black-transparent-600.png) center / contain no-repeat;mask:url(../assets/brand/lifelong-logo-official-black-transparent-600.png) center / contain no-repeat}.site-head__home:hover{background:#172b1b;border-color:#6f6}.site-head__home:focus-visible{outline:2px solid #66ff66;outline-offset:4px}.site-head__tag{margin-left:auto!important}@media(max-width:760px){.site-head__tag{display:none}.site-head{padding-right:1rem}}.site-head__tag{margin:0;font-size:.78rem;letter-spacing:.09em;color:#ffffff9e;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:420px){.site-head__tag{display:none}}.cabinet{max-width:980px;margin:1rem auto 4rem;padding:14px;border-radius:6px;background:linear-gradient(160deg,#ffffff42,#83542538 72%,#3b25116b),url(../assets/materials/oak-seamless-v32.webp) center / 520px auto;background-blend-mode:soft-light,normal;box-shadow:0 30px 60px -20px #0000008c,0 4px 10px #0000004d,inset 0 1px #ffffff59}.cabinet__inner{background:#efece4;border-radius:3px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000040}.deck{position:relative;padding:18px 20px 16px;background:linear-gradient(175deg,#ffffff8a,#b9bab580 48%,#76777261),url(../assets/materials/silver-painted-metal-seamless-v32.webp) center / 440px auto;background-blend-mode:soft-light,normal;border-bottom:3px solid var(--oak-dark);display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"screen    screen" "bay       controls" "bay       grilles" "recording recording";gap:14px 16px}.deck:before,.deck:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#8d8e89 60%,#5f605c);box-shadow:inset 0 0 0 1px #00000059}.deck:before{left:8px;top:8px}.deck:after{right:8px;top:8px}.deck__screen-wrap{grid-area:screen;position:relative;border-radius:16px/20px;padding:9px;background:linear-gradient(180deg,#b6b7b2,#85868150);box-shadow:inset 0 2px 5px #00000059}.deck__screen-wrap:before{content:"";position:absolute;inset:9px;border-radius:12px/16px;pointer-events:none;z-index:3;background-image:repeating-linear-gradient(0deg,#00000057 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ff5a5a0b 0 1px,#5aff8c0b 1px 2px,#788cff0b 2px 3px)}.deck__screen-wrap:after{content:"";position:absolute;inset:9px;border-radius:12px/16px;pointer-events:none;z-index:4;background-image:radial-gradient(125% 150% at 50% 48%,#0000 52%,#00000047 82%,#0000009e),linear-gradient(103deg,#ffffff16 0 14%,#ffffff05 22%,#fff0 34%)}.deck__screen-wrap{--crt-bloom: rgba(130, 232, 206, .13)}.deck__screen{display:block;width:100%;aspect-ratio:16 / 3.2;min-height:148px;max-height:210px;border-radius:12px/16px;background:var(--screen);box-shadow:inset 0 0 26px #000000f2,inset 0 0 3px #78dcdc2e,0 0 24px var(--crt-bloom, transparent)}.deck__bay-wrap{grid-area:bay;position:relative;display:flex;flex-direction:column;justify-content:center;border-radius:8px;padding:9px;background:linear-gradient(180deg,#b6b7b2,#8586813f);box-shadow:inset 0 2px 5px #00000059}.deck__bay{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:4px;background:linear-gradient(180deg,#2a2b28,#141513);box-shadow:inset 0 0 18px #000000e6;overflow:hidden;display:flex;align-items:center;justify-content:center}.deck__bay-empty{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffff47}.cassette{position:relative;width:100%;aspect-ratio:1536 / 1024;opacity:0;transform:translateY(-120%) scale(.82);transition:transform .62s cubic-bezier(.22,.72,.24,1),opacity .3s ease}.cassette.is-seated{opacity:1;transform:none}.cassette__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;z-index:1}.cassette__reel{position:absolute;z-index:0;top:var(--reel-top);width:var(--reel-size);aspect-ratio:1;transform-origin:50% 50%;pointer-events:none;opacity:.96}.cassette__reel--left{left:var(--reel-left-x)}.cassette__reel--right{left:var(--reel-right-x)}.cassette__reel img{width:100%;height:100%;display:block}.deck__grilles{grid-area:grilles;display:flex;gap:10px;align-items:center;align-self:center}.grille{flex:1;aspect-ratio:1;max-width:112px;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 7%,rgba(255,255,255,.7) 0 1.1%,rgba(0,0,0,.42) 1.3% 2.4%,transparent 2.6%),radial-gradient(circle at 93% 50%,rgba(255,255,255,.7) 0 1.1%,rgba(0,0,0,.42) 1.3% 2.4%,transparent 2.6%),radial-gradient(circle at 50% 93%,rgba(255,255,255,.7) 0 1.1%,rgba(0,0,0,.42) 1.3% 2.4%,transparent 2.6%),radial-gradient(circle at 7% 50%,rgba(255,255,255,.7) 0 1.1%,rgba(0,0,0,.42) 1.3% 2.4%,transparent 2.6%),radial-gradient(circle at 34% 26%,rgba(255,255,255,.55),transparent 52%),conic-gradient(from 212deg,#eceded,#b7b8b2,#dcdcd6 68deg,#a9aaa4 104deg,#e6e7e1 142deg,#adaea8,#e0e1db,#a5a69f 250deg,#e3e4de 288deg,#b2b3ad,#eceded 360deg);box-shadow:inset 0 1px #fffc,inset 0 -1px #0006,inset 0 0 0 1px #0003,0 2px 5px -1px #00000080}.grille:before{content:"";position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle at 37% 29%,rgba(255,255,255,.2),transparent 48%),radial-gradient(circle at 50% 50%,#34352f 0 34%,#292a25 40%,#3c3d36 52%,#23241f 74%,#1a1b17);box-shadow:inset 0 3px 8px #000c,inset 0 -1px #ffffff14,0 1px #ffffff73}.grille:after{content:"";position:absolute;inset:13%;border-radius:50%;background-image:radial-gradient(circle at 48% 44%,rgba(150,151,144,.95) 0 7%,rgba(96,97,90,.95) 9%,rgba(38,39,34,.95) 14%,transparent 15%),radial-gradient(circle,rgba(8,8,7,.62) 28%,transparent 30%),radial-gradient(circle,rgba(255,255,255,.055) 26%,transparent 28%);background-size:100% 100%,3.5px 3.5px,3.5px 3.5px;background-position:0 0,0 0,1.75px 1.75px}.deck__engrave{flex:1 1 auto;min-width:0;align-self:center;position:relative;height:66px;margin-left:12px;opacity:.82}.deck__engrave:before,.deck__engrave:after{content:"";position:absolute;inset:0;-webkit-mask:url(../assets/brand/lifelong-logo-official-black-transparent-600.png) left center / contain no-repeat;mask:url(../assets/brand/lifelong-logo-official-black-transparent-600.png) left center / contain no-repeat}.deck__engrave:after{transform:translate(1.2px,1.2px);background:#fffffff2}.deck__engrave:before{z-index:1;background:linear-gradient(170deg,#6c6e67,#94968e);filter:drop-shadow(-1.2px -1.2px 0 rgba(20,21,18,.62))}.deck__controls{grid-area:controls;display:flex;flex-direction:column;gap:9px;justify-content:center}.transport{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.btn{appearance:none;border:none;cursor:pointer;flex:0 0 54px;width:54px;min-width:44px;min-height:46px;border:1px solid #8d8e88;border-radius:5px;background:linear-gradient(145deg,#f4f4f0,#d7d8d2 42%,#b2b3ad);box-shadow:0 3px #777870,0 5px 8px #0000004d,inset 1px 1px #fffffff2,inset -1px -1px #4646412e;color:#3f403a;font-size:.54rem;font-weight:800;letter-spacing:.045em;display:flex;align-items:center;justify-content:center;transition:transform .06s ease,box-shadow .06s ease}.btn.is-latched{background:linear-gradient(145deg,#cfd0ca,#b4b5af 45%,#9c9d97);box-shadow:0 0 #86877f,0 1px 2px #00000059,inset 0 1px 3px #00000052;transform:translateY(2px)}.btn:active,.btn.is-down{transform:translateY(2px);box-shadow:0 0 #86877f,0 1px 2px #00000059,inset 0 1px 3px #0000004d}.btn--rec{background:linear-gradient(145deg,#f47e71,#d84434 48%,#a72d22);color:#fff;border-color:#872b21;box-shadow:0 3px #702118,0 5px 8px #0000004d,inset 1px 1px #ffffff7a}.btn[aria-pressed=true]{box-shadow:0 0 0 2px var(--focus),inset 0 1px 3px #00000059}.btn:focus-visible,.knob:focus-visible,.tape:focus-visible,.case__load:focus-visible,.track:focus-visible,.case__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.deck__meters{display:flex;align-items:center;justify-content:flex-end;gap:14px}.leds{display:flex;gap:4px}.led{width:6px;height:6px;border-radius:50%;background:#6c4a46;box-shadow:inset 0 0 2px #0009;transition:background .12s ease,box-shadow .12s ease}.led.is-lit{background:var(--led-red);box-shadow:0 0 7px var(--led-red)}.led--signal.is-lit{background:var(--led-green);box-shadow:0 0 7px var(--led-green)}.knobs{display:flex;gap:12px}.knob-wrap{display:flex;flex-direction:column;align-items:center;gap:3px}.knob{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fbfbf8,#c9cac4 55%,#85867f);box-shadow:0 2px 4px #0006,inset 0 0 0 1px #0000002e;position:relative;cursor:ns-resize;touch-action:none}.knob__pointer{position:absolute;left:50%;top:3px;width:2px;height:9px;margin-left:-1px;background:#3a3b36;border-radius:1px;transform-origin:50% 120%}.knob__label{font-size:.42rem;letter-spacing:.08em;text-transform:uppercase;color:#56574f;white-space:nowrap}.deck__recording{grid-area:recording;padding:10px;border-radius:5px;color:#36352f;background:linear-gradient(180deg,#f2f3efbd,#9a9b957a);box-shadow:inset 0 1px 4px #0000004d,0 1px #ffffff8c}.recording-bay__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:.55rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.recording-bay__head strong{font-family:SF Mono,Consolas,monospace;color:#2f5f48;font-size:.58rem}.recording-bay__well{min-height:74px;padding:10px 7%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,#0b0c0a 0 18%,#292a26 19% 79%,#0b0c0a 80%),linear-gradient(90deg,#171814,#2c2d28 50%,#171814);box-shadow:inset 0 0 20px #000000f2,0 1px #ffffff40}.recording-slot{position:relative;width:min(62%,540px);aspect-ratio:1060 / 142;overflow:hidden;border-radius:2px;filter:saturate(.82) contrast(1.04);transition:filter .2s ease,transform .2s ease;box-shadow:0 7px 9px #00000094,inset 0 0 0 1px #ffffff1f}.recording-slot img{width:100%;height:100%;object-fit:cover;display:block}.recording-slot:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.19),transparent 28% 72%,rgba(0,0,0,.28))}.deck__recording.is-armed .recording-slot{filter:saturate(.95) contrast(1.07)}.deck__recording.is-recording .recording-slot{filter:saturate(1.04) contrast(1.08);transform:translateY(2px)}.deck__recording.is-recording .recording-bay__head strong{color:#aa2e22}.recording-bay__status{margin:7px 1px 0;font-size:.58rem;line-height:1.4;color:#625e54}.recording-bay__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.recording-bay__actions a,.recording-bay__actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(0,0,0,.18);border-radius:3px;font:700 .57rem/1.2 inherit;letter-spacing:.06em;text-transform:uppercase}.recording-bay__download{background:#273e34;color:#f0f4ed;text-decoration:none}.recording-bay__download[aria-disabled=true]{background:#565b53;color:#f1eee5;border-color:#73796f}.recording-bay__download[hidden]{display:none!important}.recording-bay__actions button{color:#76736b;background:#ffffff52}.recording-bay__actions button:disabled{cursor:not-allowed;opacity:.72}.deck__label{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:3px;background:linear-gradient(180deg,#f6f4ec,#ddd9cc);box-shadow:inset 0 0 0 1px #00000029,0 1px 2px #0003;min-height:34px;color:var(--ink)}.deck__label-main{min-width:0;flex:1}.deck__label-title{font-size:.74rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck__label-sub{font-size:.58rem;color:#6a6459;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck__counter{font-family:SF Mono,Consolas,monospace;font-size:.64rem;color:#2c6b4a;background:#0d1210;padding:3px 7px;border-radius:2px;color:var(--led-green);text-shadow:0 0 5px rgba(89,227,154,.6);white-space:nowrap}.deck__notice{grid-column:1 / -1;font-size:.62rem;color:#5d5348;margin:-2px 0 0;min-height:1em;line-height:1.35}.deck__notice[data-tone=warn]{color:#6d3325;background:#e2483a1a;border-left:2px solid rgba(226,72,58,.5);padding:5px 8px;border-radius:2px}.btn:disabled{cursor:not-allowed}.transport.is-inert .btn:disabled{filter:saturate(.25) brightness(.94);opacity:.5;box-shadow:0 1px #8b8c85,inset 0 1px #fff6;transform:translateY(1px)}.host-banner{max-width:980px;margin:.2rem auto 0;padding:8px 14px;font-size:.68rem;line-height:1.45;color:#f0e6d2;background:#7a4a1e80;border:1px solid rgba(242,177,52,.32);border-radius:4px}.host-banner strong{color:var(--led-amber);font-weight:700}.host-banner[hidden]{display:none}.shelf{padding:14px 12px 18px;background:repeating-linear-gradient(92deg,rgba(0,0,0,.03) 0 2px,transparent 2px 7px),linear-gradient(180deg,#e8e2d5,#d8d0be)}.shelf__row{position:relative;display:flex;gap:3px;padding:6px 6px 9px;margin-bottom:10px;border-radius:2px;background:linear-gradient(180deg,var(--oak-light),var(--oak) 55%,var(--oak-mid));box-shadow:inset 0 2px 5px #0000004d,0 2px 3px #00000038}.shelf__row:last-child{margin-bottom:0}.shelf__row:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(180deg,var(--oak-dark),#64451f);border-radius:0 0 2px 2px}.tape{appearance:none;border:none;padding:0;margin:0;background:transparent;position:relative;flex:0 0 calc((100% - (var(--tapes-per-row, 19) - 1) * 3px) / var(--tapes-per-row, 19));min-width:0;aspect-ratio:96 / 720;cursor:pointer;border-radius:1px;transition:transform .18s cubic-bezier(.25,.7,.3,1),filter .18s ease;transform-origin:50% 100%;container-type:inline-size}.tape:before{content:"";position:absolute;inset:0;border-radius:1px;background:linear-gradient(90deg,rgba(255,255,255,.55) 0 1px,rgba(255,255,255,.14) 1px 2px,transparent 2px calc(100% - 2px),rgba(0,0,0,.28) calc(100% - 2px) 100%);box-shadow:0 3px 4px -2px #0009;pointer-events:none;z-index:2}.tape__card{position:absolute;inset:1px 2px;display:flex;flex-direction:column;border-radius:1px;background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 28%,transparent 72%,rgba(0,0,0,.12)),var(--spine-label, #ddd8cc);overflow:hidden}.tape__band{flex:0 0 auto;background:var(--spine-band, #333);color:var(--spine-band-ink, #f4f1e8);writing-mode:vertical-rl;text-orientation:mixed;padding:4px 0 5px;font-size:clamp(4.5px,1.25vw,7px);letter-spacing:.2em;font-weight:700;text-align:start;overflow:hidden}@supports (container-type: inline-size){.tape__band{font-size:clamp(4.5px,23.75cqw,7px)}}.tape__text{flex:1 1 auto;min-height:0;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:flex-start;gap:.5em;padding:7px 0 6px;color:var(--spine-ink, #1a1713);overflow:hidden}.tape__title{font-weight:800;font-size:calc(clamp(8px,2.7vw,16px) * var(--tier-title, 1));letter-spacing:.01em;line-height:1.08;min-height:0;white-space:nowrap;overflow:hidden}.tape__artist{font-weight:650;font-size:calc(clamp(7px,2.15vw,12.5px) * var(--tier-artist, 1));opacity:.82;letter-spacing:.01em;line-height:1.12;min-height:0;white-space:nowrap;overflow:hidden}@supports (container-type: inline-size){.tape__title{font-size:calc(clamp(8px,51.3cqw,16px) * var(--tier-title, 1))}.tape__artist{font-size:calc(clamp(7px,40.85cqw,12.5px) * var(--tier-artist, 1))}}.tape[data-tier=short]{--tier-title: 1;--tier-artist: 1}.tape[data-tier=medium]{--tier-title: .92;--tier-artist: .94}.tape[data-tier=long]{--tier-title: .8;--tier-artist: .86}.tape[data-tier=huge]{--tier-title: .72;--tier-artist: .78}.tape[data-tier=long] .tape__artist,.tape[data-tier=huge] .tape__artist,.tape--wrap-title .tape__title,.tape--wrap-artist .tape__artist{white-space:normal}.tape__art{flex:0 0 13%;min-height:0;display:block;background-image:var(--spine-art);background-size:cover;background-position:center;border-bottom:1px solid rgba(0,0,0,.28);box-shadow:inset 0 -1px #ffffff2e;filter:saturate(.9) contrast(1.05)}.tape:hover,.tape:focus-visible{transform:translateY(-7px);filter:brightness(1.06)}.tape.is-open{transform:translateY(-11px);filter:brightness(1.1)}.tape.is-loaded:before{box-shadow:0 0 0 1px var(--focus),0 3px 5px -2px #0009}.tape.is-played:after{content:"";position:absolute;left:50%;bottom:-5px;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--led-green);box-shadow:0 0 4px var(--led-green)}.case-backdrop{position:fixed;inset:0;z-index:40;background:#0a0e0b8c;opacity:0;pointer-events:none;transition:opacity .2s ease}.case-backdrop.is-visible{opacity:1;pointer-events:auto}.case{position:fixed;z-index:50;width:min(620px,94vw);background:linear-gradient(180deg,#23261f,#171a15);border-radius:8px;box-shadow:0 26px 60px -14px #000000bf,0 0 0 1px #ffffff14;padding:12px;opacity:0;visibility:hidden;transform:translateY(6px) scale(.97);transition:opacity .2s ease,transform .24s cubic-bezier(.2,.7,.25,1),visibility .2s;max-height:calc(100vh - 24px);overflow-y:auto}.case.is-open{opacity:1;visibility:visible;transform:none}.case__visual{position:relative;width:100%;aspect-ratio:1312 / 1199;overflow:hidden;border-radius:4px;background:transparent}.case__shell{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;pointer-events:none}.case__jcard{position:absolute;z-index:2;left:12.05%;top:12.43%;width:75.91%;height:30.28%;object-fit:cover;border-radius:1px;box-shadow:inset 0 0 0 1px #0000002e}.case__cassette{position:absolute;z-index:3;left:9%;bottom:5.5%;width:82%;height:auto;object-fit:contain;filter:drop-shadow(0 9px 9px rgba(0,0,0,.42))}.case__visual:after{content:"";position:absolute;inset:7% 5%;z-index:4;pointer-events:none;background:linear-gradient(112deg,rgba(255,255,255,.14),transparent 17% 78%,rgba(255,255,255,.08)),linear-gradient(180deg,rgba(255,255,255,.06),transparent 22% 84%,rgba(255,255,255,.05));mix-blend-mode:screen}.case__meta{padding:9px 3px 4px}.case__title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:.01em}.case__artist{margin:1px 0 0;font-size:.76rem;color:#ffffffad}.case__tags{display:flex;gap:6px;align-items:center;margin-top:7px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.case__tag{padding:2px 7px;border-radius:999px;background:#ffffff1a;color:#fffc}.case__tag--album{background:#f2b1342e;color:var(--led-amber)}.case__tracks{margin:9px 0 0;padding:0;list-style:none;max-height:190px;overflow-y:auto;border-top:1px solid rgba(255,255,255,.1)}.track{appearance:none;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;display:flex;gap:8px;align-items:baseline;padding:5px 4px;border-radius:3px;color:#ffffffd1;font-size:.72rem;font-family:inherit}.track:hover{background:#ffffff12}.track.is-current{background:#f2b13424;color:#fff}.track__n{font-family:SF Mono,Consolas,monospace;font-size:.62rem;color:#ffffff6b;min-width:1.6em}.track__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track__state{font-size:.56rem;color:#ffffff59}.case__actions{display:flex;gap:8px;margin-top:10px}.case__load{appearance:none;border:none;cursor:pointer;flex:1;padding:10px 12px;border-radius:4px;background:linear-gradient(180deg,#f3d79a,var(--led-amber));color:#3a2a08;font-weight:800;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-family:inherit}.case__load:active{transform:translateY(1px)}.case__close{appearance:none;border:1px solid rgba(255,255,255,.2);cursor:pointer;background:transparent;color:#ffffffb3;border-radius:4px;padding:0 12px;font-size:.72rem;font-family:inherit}.deck__tracks{grid-column:1 / -1;margin-top:2px;border-radius:4px;background:linear-gradient(180deg,#f6f4ec,#e4e0d3);box-shadow:inset 0 0 0 1px #00000029,0 1px 2px #0003;color:var(--ink);overflow:hidden}.deck__tracks-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-bottom:1px solid rgba(0,0,0,.12);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#6a6459}.deck__tracks-list{margin:0;padding:4px;list-style:none;max-height:210px;overflow-y:auto}.deck-track{appearance:none;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;font-family:inherit;display:flex;gap:9px;align-items:baseline;padding:7px 8px;border-radius:3px;color:#3a352d;font-size:.72rem;min-height:34px}.deck-track:hover{background:#0000000e}.deck-track:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.deck-track__n{flex:0 0 auto;font-family:SF Mono,Consolas,monospace;font-size:.62rem;color:#8a8375}.deck-track__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-track__note{flex:0 0 auto;font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:#a8482f}.deck-track:disabled{cursor:not-allowed;color:#8a8375}.deck-track.is-current{background:linear-gradient(90deg,#f2b13452,#f2b1341f);font-weight:700;box-shadow:inset 2px 0 0 var(--led-amber)}.account{max-width:980px;margin:1.1rem auto 0;padding:16px 18px 18px;border-radius:10px;background:linear-gradient(180deg,#141816d1,#0c0f0ee6);box-shadow:inset 0 0 0 1px #ffffff12,0 8px 22px #0000004d;color:#ffffffdb}.account__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.account__title{margin:0;font-size:.92rem;letter-spacing:.02em;font-weight:700}.account__state{margin:0;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;font-family:SF Mono,Consolas,monospace}.account__state[data-tone=on]{color:var(--led-green)}.account__state[data-tone=warn]{color:var(--led-amber)}.account.is-unavailable .account__form,.account.is-unavailable .account__fans{opacity:.4}.account__reason{margin:0 0 12px;padding:9px 11px;border-left:3px solid var(--led-amber);background:#f2b13417;font-size:.7rem;line-height:1.45;color:#ffffffc7}.account__form{display:grid;gap:10px 12px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;max-width:660px}.account__fans{display:grid;gap:10px 12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;max-width:660px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.account__field{display:grid;gap:4px;min-width:0}.account__field>span{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:#ffffff80}.account__field input{appearance:none;min-height:44px;padding:0 11px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:#00000059;color:#fff;font-size:.84rem;font-family:inherit;min-width:0}.account__field input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.account__field input:disabled{cursor:not-allowed}.account__actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.account__btn{appearance:none;cursor:pointer;font-family:inherit;min-height:44px;padding:0 16px;border-radius:5px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#ffffffe6;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;flex:1 1 auto}.account__btn--primary{background:linear-gradient(180deg,#f3d79a,var(--led-amber));border-color:#00000040;color:#3a2a08}.account__btn:disabled{cursor:not-allowed;opacity:.55}.account__btn:not(:disabled):active{transform:translateY(1px)}.account__note,.account__who{grid-column:1 / -1;margin:0;font-size:.66rem;line-height:1.5;color:#ffffff80}.account__who{color:#ffffffd9;font-size:.8rem}.account__signed{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.account__message{margin:12px 0 0;min-height:1em;font-size:.7rem;color:#ffffffa8}.account__message[data-tone=warn]{color:var(--led-amber)}.archive-foot{max-width:980px;margin:0 auto 3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:0 14px;font-size:.64rem;color:#ffffff80}.archive-foot button{appearance:none;background:none;border:none;cursor:pointer;color:#ffffff9e;font-size:.64rem;text-decoration:underline;font-family:inherit;min-height:44px;padding:0 2px}.archive-foot button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sfx-level{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;min-height:44px}.sfx-level input{width:90px;accent-color:var(--led-amber);min-height:44px}@media(max-width:1099px){.cabinet,.host-banner,.archive-foot{max-width:840px}.case{width:min(560px,94vw)}}@media(max-width:860px){.deck{grid-template-columns:minmax(0,1fr);grid-template-areas:"screen" "bay" "controls" "grilles" "recording";gap:12px}.deck__screen{aspect-ratio:16 / 5;min-height:150px;max-height:230px}.deck__bay{aspect-ratio:16 / 9}.deck__grilles{justify-content:flex-start}.transport{justify-content:stretch}}@media(max-width:639px){.cabinet{margin:.5rem auto 2.5rem;padding:9px}.deck{grid-template-columns:minmax(0,1fr);grid-template-areas:"screen" "bay" "controls" "grilles" "recording";padding:10px 9px 9px;gap:9px}.deck__screen-wrap,.deck__bay-wrap{padding:6px}.deck__screen{aspect-ratio:16 / 8;min-height:150px;max-height:220px}.deck__bay{aspect-ratio:16 / 9}.transport{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.transport .btn{flex:none;width:auto;min-width:0;height:48px;font-size:.6rem}.deck__meters{gap:12px}.leds{gap:6px}.knobs{gap:16px}.knob{width:42px;height:42px}.knob__pointer{height:14px;top:4px}.deck__grilles{justify-content:flex-start;gap:9px}.grille{max-width:44px}.deck__engrave{height:34px;margin-left:8px}.deck__recording{padding:9px 10px 10px}.recording-bay__well{min-height:0}.recording-slot{width:100%}.recording-bay__head{align-items:flex-start;flex-direction:column;gap:3px}.recording-bay__status{font-size:.6rem;line-height:1.45}.recording-bay__actions>*{width:100%}.recording-bay__actions button{font-size:.62rem;min-height:44px}.deck__label{align-items:flex-start;flex-direction:column;gap:4px}.deck__tracks-list{max-height:260px}.deck-track{min-height:44px;font-size:.76rem}.deck__counter{align-self:stretch;text-align:center}.account{padding:13px 12px 14px;border-radius:8px}.account__form,.account__fans{grid-template-columns:minmax(0,1fr);max-width:none}.account__actions{display:grid;grid-template-columns:1fr 1fr}.archive-foot{gap:.6rem;font-size:.6rem}.shelf{padding:10px 8px 12px}.shelf__row{gap:3px;padding:5px 5px 8px;margin-bottom:8px}.case{position:fixed!important;inset:auto 0 0!important;width:100%!important;border-radius:14px 14px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));transform:translateY(14px);max-height:88vh;overflow-y:auto}.case.is-open{transform:none}.case__tracks{max-height:34vh}.case__load{padding:14px;font-size:.74rem;min-height:48px}.case__close{padding:14px 16px;min-height:48px}}@media(max-width:520px){.site-head{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(58px,auto);align-items:center;gap:6px;min-height:72px;padding:9px 10px}.site-head__home{width:100%!important;min-width:0}.site-head__home-logo{width:min(100%,138px)!important;height:48px}.basket-key{position:static!important;max-width:72px;justify-self:end;white-space:normal;line-height:1.15}.transport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.transport .btn{min-width:0;width:100%;padding-inline:4px;white-space:normal;line-height:1.05;overflow-wrap:anywhere}.recording-bay__head,.deck__label,.deck__tracks-head,.account__head{min-width:0}.recording-bay__head *,.deck__label *,.deck__tracks-head *,.account__head *{min-width:0;overflow-wrap:anywhere}.account__actions{display:grid;grid-template-columns:1fr}.account__actions .account__btn{width:100%;white-space:normal}.deck__notice,.recording-bay__status,.account__note,.account__message{overflow-wrap:anywhere}}@media(max-width:380px){.transport .btn{font-size:.55rem;height:46px}.deck__screen{aspect-ratio:16 / 9;min-height:142px}.grille{max-width:38px}}@media(prefers-reduced-motion:reduce){.cassette,.tape,.case{transition:none!important}}.menu-key{flex:none;appearance:none;cursor:pointer;width:46px;height:46px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #8d8e88;border-radius:6px;background:linear-gradient(145deg,#f4f4f0,#d7d8d2 42%,#b2b3ad);box-shadow:0 2px #8b8c85,inset 0 1px #ffffffa6}.menu-key:active{transform:translateY(1px);box-shadow:0 1px #8b8c85}.menu-key:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.menu-key__bars{display:grid;gap:4px;width:20px}.menu-key__bars i{display:block;height:2px;background:#3a3730;border-radius:1px}.menu-scrim{position:fixed;inset:0;z-index:60;background:#100e0b8c;backdrop-filter:blur(2px)}.menu{position:fixed;z-index:61;inset:0 auto 0 0;width:min(420px,92vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#efece3,#e2ded2);border-right:1px solid rgba(0,0,0,.25);box-shadow:4px 0 28px -8px #0009;overflow:hidden}.menu__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid rgba(0,0,0,.14)}.menu__heading{margin:0;font-size:.95rem;letter-spacing:.04em;color:#23201b}.menu__close{appearance:none;cursor:pointer;background:none;border:none;min-width:44px;min-height:44px;font-size:1.5rem;line-height:1;color:#3a3730}.menu__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.menu__tabs{display:flex;gap:4px;padding:10px 12px 0}.menu__tab{appearance:none;cursor:pointer;font-family:inherit;flex:1 1 0;min-height:44px;padding:0 8px;border:1px solid #b6b1a4;border-bottom:none;border-radius:6px 6px 0 0;background:#d9d5c9;color:#55504a;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.menu__tab.is-current{background:#f6f3ea;color:#23201b}.menu__tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.menu__panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;background:#f6f3ea;border-top:1px solid #b6b1a4}.menu__note{margin:0 0 12px;font-size:.74rem;line-height:1.45;color:#5d574e}.menu,.menu__panel{color:#23201b}.artist-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.artist{appearance:none;cursor:pointer;font-family:inherit;width:100%;min-height:46px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ccc6b7;border-radius:6px;background:#fffdf7;color:#23201b;text-align:left}.artist:hover{background:#f1ece0}.artist:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.artist__name{font-weight:700;font-size:.84rem}.artist__count{flex:none;font-size:.66rem;letter-spacing:.06em;color:#6d675d;text-transform:uppercase}.dl-block{padding:12px;margin-bottom:10px;border:1px solid #ccc6b7;border-radius:6px;background:#fffdf7}.dl-block__title{margin:0 0 6px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.dl-block__body{margin:0 0 10px;font-size:.76rem;line-height:1.5;color:#4e4840}.dl-block__link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:6px;background:#23201b;color:#f6f3ea;font-size:.72rem;letter-spacing:.06em;text-decoration:none;font-weight:700}.dl-block__link:hover{background:#3a352d}.dl-block__link:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.merch-grid{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.merch__link{display:flex;flex-direction:column;gap:6px;padding:8px;height:100%;border:1px solid #ccc6b7;border-radius:6px;background:#fffdf7;color:inherit;text-decoration:none}.merch__link:hover{background:#f1ece0}.merch__link:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.merch__img{display:block;width:100%;aspect-ratio:1 / 1;max-width:100%;object-fit:cover;border-radius:3px;background:#e5e0d4}.merch__img--none{display:block}.merch__name{font-size:.72rem;font-weight:700;line-height:1.3}.merch__meta{margin-top:auto;display:flex;justify-content:space-between;gap:6px;font-size:.64rem;color:#6d675d}.merch__price{font-weight:700;color:#23201b}.merch.is-sold-out .merch__img{filter:grayscale(1) brightness(.94);opacity:.75}.merch.is-sold-out .merch__price{color:#8a4a3c}.filter-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 auto 10px;padding:9px 14px;max-width:900px;border:1px solid #b6b1a4;border-radius:6px;background:#efece3;color:#3a3730;font-size:.78rem}.filter-bar__clear{appearance:none;cursor:pointer;font-family:inherit;min-height:44px;padding:0 14px;border:1px solid #8d8e88;border-radius:6px;background:linear-gradient(145deg,#f4f4f0,#d7d8d2);font-size:.7rem;font-weight:700;letter-spacing:.04em}.filter-bar__clear:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.deck-track__save{appearance:none;cursor:pointer;font-family:inherit;flex:none;min-width:44px;min-height:44px;border:1px solid #b6b1a4;border-radius:5px;background:#efece3;color:#3a3730;font-size:.8rem;font-weight:700;line-height:1}.deck-track__save:hover:not(:disabled){background:#e3dfd2}.deck-track__save:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.deck-track__save.is-working{font-size:.58rem;letter-spacing:0}.deck-track__save.is-done{background:#d8e8d2;border-color:#7da874}.deck-track__save.is-failed{background:#f0d9d2;border-color:#b57c6c}.deck-track__save:disabled{cursor:default}.deck__tracks-list li{display:flex;align-items:stretch;gap:4px}.deck__tracks-list li .deck-track{flex:1 1 auto;min-width:0}@media(max-width:520px){.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu{width:100vw}}@keyframes crt-breathe{0%,to{opacity:1}47%{opacity:.975}52%{opacity:.995}}@keyframes crt-roll{0%{transform:translateY(-18%)}to{transform:translateY(118%)}}.deck__screen{animation:crt-breathe 5.2s ease-in-out infinite}.deck__screen-wrap .crt-roll{position:absolute;left:9px;right:9px;height:14%;pointer-events:none;z-index:3;background:linear-gradient(180deg,#beffeb00,#beffeb09 45%,#beffeb0e 55%,#beffeb00);animation:crt-roll 7.5s linear infinite}@media(prefers-reduced-motion:reduce){.deck__screen{animation:none}.deck__screen-wrap .crt-roll{display:none}}.shop-body{min-height:100vh}.shop-back{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:44px;min-height:44px;border:1px solid #8d8e88;border-radius:6px;background:linear-gradient(145deg,#f4f4f0,#d7d8d2 42%,#b2b3ad);color:#3a3730;text-decoration:none;font-size:1.1rem;line-height:1;box-shadow:0 2px #8b8c85,inset 0 1px #ffffffa6}.shop-back:active{transform:translateY(1px);box-shadow:0 1px #8b8c85}.shop-back:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shop{max-width:1100px;margin:1rem auto 4rem;padding:0 clamp(1rem,4vw,2.5rem)}.shop__note{margin:0 0 14px;font-size:.78rem;line-height:1.5;color:#ffffffa8}.shop__filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}.shop__filter{appearance:none;cursor:pointer;font-family:inherit;min-height:44px;padding:0 14px;border:1px solid #6c6e66;border-radius:999px;background:#ffffff0f;color:#ffffffc7;font-size:.7rem;letter-spacing:.06em;font-weight:600}.shop__filter:hover{background:#ffffff1f}.shop__filter.is-current{background:#f1eee5;color:#23201b;border-color:#f1eee5}.shop__filter:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shop__grid{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.product__open{appearance:none;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:8px;width:100%;height:100%;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:linear-gradient(145deg,#fffdf7,#eee8dc);color:#23201b;text-align:left;box-shadow:0 15px 28px -24px #000000e6,inset 0 1px #ffffffd9;transform:translateZ(0);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.product__open:hover{background:#fffdf7;transform:translateY(-3px);box-shadow:0 22px 34px -24px #000000eb,inset 0 1px #fff}.product__open:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.product__frame{position:relative;display:block;width:100%;aspect-ratio:1 / 1;border-radius:5px;overflow:hidden;isolation:isolate;perspective:850px;background:radial-gradient(ellipse at 50% 82%,rgba(45,38,29,.18) 0 12%,transparent 38%),linear-gradient(145deg,#fff,#f4efe4 72%,#e6ded0);box-shadow:inset 0 0 0 1px #493e3014,inset 0 -24px 42px #473a290d}.product__frame:before{content:"";position:absolute;z-index:0;left:16%;right:16%;bottom:7%;height:10%;border-radius:50%;background:#201c173d;filter:blur(12px);transform:perspective(300px) rotateX(68deg)}.product__frame:after{content:"";position:absolute;z-index:2;pointer-events:none;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.24),transparent 27% 72%,rgba(87,70,49,.05));mix-blend-mode:soft-light}.product__img{position:absolute;z-index:1;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;filter:contrast(1.025) saturate(.98) drop-shadow(0 12px 11px rgba(36,30,24,.18));transform:translateY(-1px) rotateX(.8deg) scale(.975);transform-origin:50% 72%;transition:opacity .22s ease,transform .25s ease,filter .25s ease}.product[data-kind=recorded-media] .product__img,.product[data-kind=object] .product__img{transform:translateY(-3px) rotateX(1.6deg) scale(.95)}.product__open:hover .product__img{transform:translateY(-6px) rotateX(0) scale(.99);filter:contrast(1.035) saturate(1) drop-shadow(0 18px 13px rgba(36,30,24,.22))}.product__img--back{opacity:0}.has-back .product__open:hover .product__img--back,.has-back .product__open:focus-visible .product__img--back{opacity:1}.product__frame--empty{background:#ece8dd}.product__name{font-size:.78rem;font-weight:700;line-height:1.3}.product__meta{margin-top:auto;display:flex;justify-content:space-between;gap:8px;font-size:.66rem;color:#6d675d}.product__price{font-weight:700;color:#23201b}.product.is-sold-out .product__img{filter:grayscale(1) brightness(.97);opacity:.7}.product.is-sold-out .product__price{color:#8a4a3c}.shop__foot{margin:26px 0 0}.sheet-scrim{position:fixed;inset:0;z-index:70;background:#0e0d0aa8;backdrop-filter:blur(3px)}.sheet{position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,94vw);max-height:92vh;display:grid;grid-template-columns:1.1fr 1fr;background:#f6f3ea;color:#23201b;border-radius:10px;overflow:hidden;box-shadow:0 24px 60px -18px #000c}.sheet__close{position:absolute;right:8px;top:8px;z-index:2;appearance:none;cursor:pointer;border:none;background:#fffc;width:44px;height:44px;border-radius:50%;font-size:1.5rem;line-height:1;color:#23201b}.sheet__close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet__media{position:relative;background:#fff;min-height:0}.sheet__img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;padding:22px 22px 54px;filter:contrast(1.02) saturate(.98) drop-shadow(0 18px 16px rgba(32,27,22,.18));mix-blend-mode:multiply}.sheet__views{position:absolute;left:0;right:0;bottom:10px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.sheet__view{appearance:none;cursor:pointer;font-family:inherit;min-height:34px;padding:0 14px;border:1px solid #c9c3b5;border-radius:999px;background:#fff;color:#4e4840;font-size:.66rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.sheet__view.is-current{background:#23201b;color:#f6f3ea;border-color:#23201b}.sheet__view:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet__body{padding:22px;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px}.sheet__name{margin:0;font-size:1rem;line-height:1.3}.sheet__meta{margin:0;font-size:.72rem;color:#6d675d;letter-spacing:.04em}.sheet__desc{margin:0;font-size:.8rem;line-height:1.55;color:#4e4840;white-space:pre-line}.sheet__release-art{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;margin:4px 0;padding:10px;border:1px solid #d8d0c0;border-radius:7px;background:linear-gradient(135deg,#fffdf8,#e9e2d5)}.sheet__release-art[hidden]{display:none!important}.sheet__release-art img{display:block;width:76px;height:76px;object-fit:cover;border-radius:3px;box-shadow:0 8px 16px -10px #000000bf}.sheet__release-art figcaption{min-width:0;display:grid;gap:3px}.sheet__release-art figcaption span{font-size:.56rem;letter-spacing:.11em;text-transform:uppercase;color:#777064}.sheet__release-art figcaption strong{font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}.sheet__buy{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:6px;background:#23201b;color:#f6f3ea;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none}.sheet__buy:hover{background:#3a352d}.sheet__buy:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet__buy.is-disabled{background:#cdc7b9;color:#7a7367;cursor:not-allowed;pointer-events:none}.sheet__via{margin:0;font-size:.68rem;color:#6d675d}@media(max-width:720px){.sheet{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;width:96vw;max-height:94vh}.sheet__img{padding:16px 16px 48px}.sheet__body{padding:16px}.shop__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.sheet__name,.product__name,.sheet__desc,.sheet__meta{overflow-wrap:anywhere}.sheet__views{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 10px 2px}.sheet__view{flex:0 0 auto}}@media(max-width:520px){.site-head{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(58px,auto);align-items:center;gap:6px;min-height:72px;padding:9px 10px}.site-head__home{width:100%!important;min-width:0}.site-head__home-logo{width:min(100%,138px)!important}.basket-key{position:static!important;max-width:72px;justify-self:end;white-space:normal;line-height:1.15}.shop{padding-inline:10px}.shop__filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.shop__filter{flex:0 0 auto}.shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product__open{padding:7px;gap:6px}.product__name{font-size:.7rem}.product__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;font-size:.6rem}.sheet{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.sheet__body{padding:14px}.sheet__release-art{grid-template-columns:62px minmax(0,1fr)}.sheet__release-art img{width:62px;height:62px}}@media(prefers-reduced-motion:reduce){.product__open,.product__img{transition:none}.product__open:hover{transform:none}}.menu__note--link{display:inline-block;margin-top:10px;color:#5d574e}.sheet__spin{position:absolute;inset:0}.spin{position:relative;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;outline-offset:-3px}.spin.is-dragging{cursor:grabbing}.spin:focus-visible{outline:2px solid var(--focus)}.spin__img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;padding:22px 22px 54px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.18));user-select:none;-webkit-user-drag:none}.spin__hint{position:absolute;left:50%;bottom:52px;transform:translate(-50%);padding:4px 10px;border-radius:999px;background:#23201bb3;color:#f6f3ea;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;opacity:.9}.spin.is-dragging .spin__hint{opacity:0}.sheet__view--spin{letter-spacing:.04em}.sheet__sizes{display:flex;flex-direction:column;gap:6px}.sheet__sizes-label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#6d675d}.size-row{display:flex;flex-wrap:wrap;gap:6px}.size{appearance:none;cursor:pointer;font-family:inherit;min-width:48px;min-height:44px;padding:0 12px;border:1px solid #c9c3b5;border-radius:6px;background:#fff;color:#23201b;font-size:.76rem;font-weight:700;letter-spacing:.04em}.size:hover:not(:disabled){background:#f1ece0}.size.is-current{background:#23201b;color:#f6f3ea;border-color:#23201b}.size:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.size:disabled{cursor:not-allowed;color:#a19a8d;background:#f0ece2;text-decoration:line-through;text-decoration-thickness:1px}.sheet__sizes-note{margin:0;font-size:.66rem;color:#8a4a3c;min-height:1em}button.sheet__buy{appearance:none;border:none;cursor:pointer;font-family:inherit;width:100%}button.sheet__buy:disabled{background:#cdc7b9;color:#7a7367;cursor:not-allowed}.sheet__buy.is-working{opacity:.8;cursor:progress}.order-page{max-width:640px}.order-card{padding:22px;border-radius:10px;background:#f6f3ea;color:#23201b}.order-card__title{margin:0 0 8px;font-size:1.05rem;line-height:1.3}.order-card__sub{margin:0 0 16px;font-size:.84rem;line-height:1.5;color:#4e4840}.order-lines{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}.order-line{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ddd6c6;border-radius:6px;background:#fffdf7;font-size:.8rem}.order-line__qty{color:#6d675d}.order-downloads{margin:18px 0 0}.order-downloads__title{margin:0 0 6px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.order-downloads__note{margin:0 0 10px;font-size:.74rem;line-height:1.5;color:#5d574e}.order-downloads__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.order-card__foot{margin:18px 0 0;font-size:.72rem;color:#6d675d;line-height:1.5}.deck{grid-template-areas:"screen screen" "bay controls" "bay grilles" "tone tone" "recording recording"}.tone-panel{grid-area:tone;min-width:0}@media(max-width:860px){.deck{grid-template-areas:"screen" "bay" "controls" "grilles" "tone" "recording"}}.site-head__home{width:190px;min-height:56px;border:0;background:none;box-shadow:none}.site-head__home:hover{background:none;filter:drop-shadow(0 0 5px #66ff6655)}.site-head__home-logo{width:174px;height:54px}.grille{max-width:155px;min-width:0}.deck__grilles{gap:16px}.knob{width:62px;height:62px}.knob__pointer{top:7px;height:21px}.knob__label{font-size:.65rem}.knobs{gap:22px}.tone-panel{margin:22px 0;padding:20px;border:2px solid #92948b;border-radius:7px;background:#bfc1b8 url(../assets/materials/silver-painted-metal-seamless-v32.webp) center/420px;box-shadow:inset 0 1px 2px #fff8,0 3px 5px #0004;color:#262923}.tone-panel__top{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr);gap:24px}.vu-face{position:relative;height:150px;border:7px solid #262923;border-radius:8px;background:linear-gradient(#d9ca9f,#f4e7c3);overflow:hidden;box-shadow:inset 0 2px 8px #0004;text-align:center}.vu-face__scale{position:absolute;top:20px;width:100%;font:11px monospace;color:#514630}.vu-face__needle{position:absolute;width:2px;height:87px;background:#a12218;left:50%;bottom:4px;transform-origin:center bottom;transform:rotate(-65deg);transition:transform .12s linear}.vu-face__name{position:absolute;bottom:12px;left:12px;font:700 11px monospace}.vu-face output{position:absolute;bottom:12px;right:12px;font:11px monospace}.tone-filters{display:grid;gap:14px;align-content:center}.tone-filters label{display:grid;grid-template-columns:1fr auto;gap:7px;font:700 12px monospace}.tone-filters input{grid-column:1/-1;grid-row:2;width:100%;min-height:36px;accent-color:#303a2d}.tone-panel__head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 12px}.tone-panel h2{font:700 13px monospace;letter-spacing:.1em;margin:0}.tone-panel button{min-height:44px;padding:8px 12px;border:1px solid #72756a;border-radius:4px;background:linear-gradient(#f4f4eb,#b9bbae);color:#262923;font:700 11px monospace;cursor:pointer}.tone-eq{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:9px}.tone-band{display:flex;flex-direction:column;align-items:center;gap:8px;font:10px monospace;text-align:center}.tone-band input{writing-mode:vertical-lr;direction:rtl;width:32px;height:125px;accent-color:#353d31;cursor:ns-resize}.tone-panel__note{font:11px/1.5 monospace;margin:16px 0 0}.tone-panel input:focus-visible,.tone-panel button:focus-visible{outline:2px solid #174e23;outline-offset:3px}@media(max-width:760px){.grille{max-width:110px;flex:0 1 110px}.knob{width:58px;height:58px}.tone-panel__top{grid-template-columns:1fr}.tone-panel{padding:14px}.tone-eq{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 8px}.tone-band input{height:110px}.tone-panel__head{flex-wrap:wrap}.tone-panel__head>*{min-width:0;overflow-wrap:anywhere}.tone-filters label{grid-template-columns:minmax(0,1fr) auto}.tone-filters output{white-space:nowrap}.tone-panel__note{overflow-wrap:anywhere}}@media(max-width:380px){.tone-eq{gap:18px 3px}.tone-band{font-size:9px}.tone-band input{width:28px}.tone-panel h2{font-size:11px}.vu-face__scale{font-size:9px;letter-spacing:-.04em}}@media(prefers-reduced-motion:reduce){.vu-face__needle{transition:none}}[hidden]{display:none!important}.menu-key,.menu-key:active,.shop-back{border:0!important;background:none!important;box-shadow:none!important;color:#6f6!important;min-width:48px;min-height:48px}.menu-key__bars{width:28px}.menu-key__bars i{background:#6f6!important;height:3px}.basket-key{position:absolute;right:12px;top:28px;border:0;background:none;color:#6f6;font:12px ui-monospace,monospace;cursor:pointer;padding:12px 4px;min-height:44px}.basket-key:hover,.menu-key:hover{filter:drop-shadow(0 0 5px #66ff6680)}.basket-overlay{position:fixed;inset:0;z-index:10000;background:#000a;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.basket-panel{background:#071108;color:#6f6;border:1px solid #66ff6670;box-shadow:0 0 35px #66ff6620;width:min(680px,100%);max-height:85dvh;overflow:auto;padding:26px;font:14px/1.6 ui-monospace,monospace;border-radius:5px}.basket-panel h2{font:20px ui-monospace,monospace;margin:0 0 20px}.basket-panel button,.basket-panel a{color:#6f6;background:transparent;border:1px solid #66ff6660;padding:10px;cursor:pointer;min-height:44px;font:inherit}.basket-panel button:disabled{opacity:.45;cursor:not-allowed}.basket-panel button:hover:not(:disabled){background:#66ff6615}.basket-close{float:right}.basket-line{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #66ff6630}.basket-line img{width:72px;height:85px;object-fit:contain;background:#fff}.basket-line p{margin:0 0 8px}.basket-quantity{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.basket-total{font-size:18px}.basket-status{color:#baf9ba}.basket-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.has-basket{overflow:hidden!important}@media(max-width:480px){.basket-overlay{padding:10px}.basket-panel{padding:18px}.site-head__home{width:150px!important}.site-head__home-logo{width:140px!important}.basket-key{font-size:10px;right:4px}}.basket-line>div{min-width:0}.basket-line a{display:inline-flex;align-items:center;margin:0 0 12px;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}.basket-quantity{clear:both;position:relative;gap:8px;min-height:44px;margin-top:4px}.basket-quantity button{display:inline-flex;align-items:center;justify-content:center;flex:none}.basket-quantity span{min-width:24px;text-align:center}.basket-panel{overflow-wrap:anywhere}.menu,.menu-scrim{visibility:hidden!important;pointer-events:none!important;opacity:0!important}body.has-menu .menu,body.has-menu .menu-scrim{visibility:visible!important;pointer-events:auto!important;opacity:1!important}.case{left:auto!important;right:16px!important;top:16px!important;bottom:16px;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);z-index:9100}.case__tracks{max-height:23dvh}.case__actions{position:sticky;bottom:-12px;background:#171a15;padding:12px 0;margin:0}.case__visual{max-height:340px}.case-backdrop{z-index:9050}@media(max-width:639px){.case{right:8px!important;left:8px!important;top:auto!important;bottom:8px;width:auto;max-height:78dvh}.case__visual{max-height:270px;width:min(100%,300px);margin:auto}.case__tracks{max-height:18dvh}}@media(min-width:1100px){body.has-case #crtScreen{margin-right:400px}}

/* ======================================================================
   THE SHOP STANDS ON THE TERMINAL GROUND

   Measured on this build before the change, and every one of these is
   text a customer has to read:

     product__meta   #6d675d  on the sage wall #78857a   1.45 : 1
     product__name   #23201b  on the sage wall           4.20 : 1
     shop__filter    white 78% on the sage wall          3.86 : 1
     shop__note      white 66% on the sage wall          3.86 : 1

   The shop was wearing the deck room's wall. The menu in this same build
   already uses a terminal palette and measures 15:1, so the palette was
   here all along — it just never reached the pages.

   THE TOKENS ARE SPELLED OUT, NOT INHERITED. Only index's stylesheet
   defines --term-*; the shop's two sheets define none. A var() with no
   definition resolves to nothing, and `background-color: <nothing>` is
   transparent, not an error — which is how a basket panel once shipped
   see-through with no warning anywhere. So they are declared here.

   index.html is deliberately untouched: the deck is a room with a sage
   wall, the shop is a terminal. Only .shop-body pages change.
   ====================================================================== */

:root {
  --term-bg: #0a140a;
  --term-bg-deep: #060d06;
  --term-green: #66ff66;
  --term-dim: #5ac668;
  --term-mid: #78e084;
  --term-hot: #d8ffd2;
  --term-line: #3ddc57;
  --term-figure: #f6f4ec;
  --term-grid:
    repeating-linear-gradient(0deg,  rgba(0,0,0,.55) 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.40) 0 1px, transparent 1px 2px);
}

body.shop-body {
  background-color: #060d06;
  background-image: var(--term-grid);
  color: #66ff66;
  min-height: 100vh;
}
/* the CRT mode paints its own backdrop behind the warped screen */
body.shop-body.has-crt::before { background: #060d06; }

/* --- the grid's cards ------------------------------------------------- */
.shop-body .product__open {
  background-color: #0a140a;
  background-image: var(--term-grid);
  border: 1px solid rgba(61,220,87,.34);
  color: #d8ffd2;
}
.shop-body .product__open:hover { border-color: #3ddc57; }
/* the photograph keeps its white sweep — that is what a product photo is,
   and it is the only light rectangle left on the page */
.shop-body .product__frame { background: #f6f3ea; }
.shop-body .product__name  { color: #d8ffd2; }
.shop-body .product__meta  { color: #5ac668; }

/* a price is the one number somebody has to read exactly, so it is the
   plainest thing on the page rather than the most decorated */
.shop-body .product__price,
.shop-body .price,
.shop-body .basket-total,
.shop-body .order-line__price { color: #f6f4ec; text-shadow: none; }

/* --- notes, filters, footers ------------------------------------------ */
.shop-body .shop__note,
.shop-body .shop__foot { color: #5ac668; }
.shop-body .shop__filter {
  background: rgba(102,255,102,.06);
  border: 1px solid rgba(61,220,87,.34);
  color: #78e084;
}
.shop-body .shop__filter.is-current { background: #3ddc57; color: #060d06; }

/* --- the order card reads as a panel, like the basket ------------------ */
.shop-body .order-card,
.shop-body .order-downloads,
.shop-body .basket-panel {
  background-color: #0a140a;
  background-image: var(--term-grid);
  border: 1px solid rgba(61,220,87,.34);
  color: #d8ffd2;
}
.shop-body .order-card__title,
.shop-body .order-downloads__title { color: #66ff66; }
.shop-body .order-card__sub,
.shop-body .order-card__foot,
.shop-body .order-downloads__note,
.shop-body .basket-status { color: #5ac668; }
.shop-body .order-lines > *,
.shop-body .basket-line { border-bottom: 1px solid rgba(61,220,87,.32); }

/* ======================================================================
   THE ACCOUNT PANEL ON THE DECK PAGE

   Separate problem, same cause. .account is written in white at 86% but
   sits inside .cabinet__inner, which is #efece4 — near-white on near-white,
   1.18 : 1, the worst number on the site. The white text says the panel was
   meant to have a dark ground of its own and never got one, so it gets one
   here rather than repainting the type to fight the cabinet.
   ====================================================================== */
.account {
  background: #12180f;
  border: 1px solid rgba(61,220,87,.28);
  border-radius: 10px;
  padding: 16px 18px;
}
.account__title { color: #d8ffd2; }
.account__reason { color: #f0d9a8; }
/* white at 45% measured 4.50:1 once the panel went dark — technically a pass,
   but this is 9.6px uppercase with letter-spacing, which is the hardest thing
   on the panel to read. 72% puts it at 8.7:1 with room to spare. */
.account__state { color: rgba(255,255,255,.72); }

/* ======================================================================
   THE LANGUAGE KEYS AND THE SOCIAL LINKS

   Both in the logo's phosphor, both 44px tall so they are real touch
   targets on a phone. Colours are literal rather than var() because two of
   the three stylesheets here define no --term-* tokens at all, and an
   undefined custom property resolves to nothing rather than to an error.
   ====================================================================== */

/* No margin-left:auto here. .site-head__tag already carries one, and two
   auto margins split the free space between them — which parked the tag at
   x=589 with the mark, absolutely centred, spanning 625-815. They overlapped
   by 16px on every shop page at 1440. One auto margin, on the tag, keeps the
   keys and the basket together at the end and leaves the centre clear. */
.lang-select {
  display: inline-flex; gap: 0; align-items: stretch;
  padding: 0;
  font-family: "Arial Narrow","Helvetica Neue",Helvetica,Arial,sans-serif;
}
.lang-select__key {
  appearance: none; cursor: pointer;
  min-width: 32px; min-height: 44px; padding: 0 4px;
  border: 1px solid rgba(61,220,87,.45); border-radius: 0;
  background: transparent;
  color: #66ff66;
  font: 700 .6rem/1 inherit; letter-spacing: .08em; text-transform: uppercase;
  text-shadow: 0 0 6px rgba(102,255,102,.45);
}
.lang-select__key:hover { background: rgba(61,220,87,.16); }
.lang-select__key:focus-visible { outline: 2px solid #d8ffd2; outline-offset: -3px; }
.lang-select__key[aria-pressed="true"] {
  background: #3ddc57; color: #060d06; text-shadow: none;
}

.site-social { display: flex; gap: 10px; justify-content: center; padding: 26px 16px 34px; }
.social__key {
  display: inline-flex; align-items: center;
  min-height: 44px; padding: 0 14px;
  border: 1px solid #3ddc57; border-radius: 0;
  color: #66ff66; text-decoration: none;
  font-family: "Arial Narrow","Helvetica Neue",Helvetica,Arial,sans-serif;
  text-transform: uppercase; letter-spacing: .14em;
  font-weight: 700; font-size: .68rem;
}
.social__key:hover { background: rgba(61,220,87,.16); color: #d8ffd2; border-color: #d8ffd2; }
.social__key:focus-visible { outline: 2px solid #d8ffd2; outline-offset: -3px; }


/* ======================================================================
   THE HEADER ON A PHONE

   .site-head__home is position:absolute, left:50%, translate(-50%) — the
   mark floats over the header rather than sitting in it. That was survivable
   when the header held a back arrow and a basket key. With four language
   keys as well it is not: measured at 390px, the mark (120-270) sat on top
   of the basket key (190-246) and the language keys (252-380).

   Below 560px the header becomes two rows and the mark goes back into the
   flow, so there is nothing underneath it to collide with.
   ====================================================================== */
@media (max-width: 560px) {
  .site-head {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-height: 0;
    padding: 10px 10px 8px;
  }
  .site-head__home {
    position: static !important;
    transform: none !important;
    order: 1;
    flex: 0 0 100%;
    width: auto !important;
    justify-content: center;
  }
  .site-head__home-logo { width: 132px !important; height: 44px; }
  .site-head .shop-back   { order: 2; }
  .site-head__tag         { order: 3; margin-left: 0 !important; }
  .site-head .lang-select { order: 4; margin-left: auto; }
  .site-head .basket-key  { order: 5; }
}

@media (min-width: 561px) and (max-width: 1200px) {
  /* The mark is centred and absolutely positioned, so the header's free space
     is the only thing keeping anything out of the middle. At 1440 there is
     enough of it; at 820 the tag's auto margin walks it straight into the
     mark — measured, 50px of overlap. Below 1200 the tag sits on the left
     beside the back arrow, where there is nothing to collide with. */
  .site-head__tag { margin-left: 8px !important; }
}

/* ======================================================================
   THE PROJECTION, AND THE PRODUCT PAGE

   MONOCHROME. The earlier version pushed the photograph through
   `sepia(1) hue-rotate(160deg) saturate(5.5)`, which is what made it blue.
   GG's rule is that the CRT treatment is monochrome and there is no
   blue/cyan wash, so the chain lands on the same green phosphor the rest
   of the site already uses — one hue, like the deck screen and the menu.

   WHAT THIS IS, PLAINLY: two photographs on a plane that turns. Not a 3D
   model, and it does not pretend to be — at 90 degrees the plane is
   edge-on and the shirt is a line, which is exactly what a sheet of
   projected light does. Nothing is synthesised: where a product was only
   photographed once the plane is single-sided and its reverse is its own
   mirror, and the caption says so.
   ====================================================================== */

.holo { position: relative; width: 100%; height: 100%; display: grid; place-items: center;
        perspective: 1100px; overflow: hidden; }
.holo__stage { position: relative; width: 74%; aspect-ratio: 1/1; transform-style: preserve-3d;
               display: grid; place-items: center; }
.holo__card { position: relative; width: 100%; height: 100%; transform-style: preserve-3d;
              will-change: transform; }
.holo__face {
  position: absolute; inset: 0;
  background-size: contain; background-position: center; background-repeat: no-repeat;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  filter: grayscale(1) brightness(1.18) contrast(1.12)
          sepia(1) hue-rotate(72deg) saturate(3.2);
  opacity: .88;
}
.holo__face--back { transform: rotateY(180deg); }
/* One-sided items: the plane is see-through from behind, so turning it round
   shows the genuine mirror of the photograph rather than a second front
   pretending to be a back. */
.holo__face--only { backface-visibility: visible; -webkit-backface-visibility: visible; }

/* the light it stands in */
.holo__cone { position: absolute; left: 50%; top: 4%; width: 74%; height: 92%;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, rgba(102,255,102,.10), rgba(102,255,102,.02) 70%, transparent);
  clip-path: polygon(34% 0, 66% 0, 100% 100%, 0 100%); pointer-events: none; }
/* scan bars, drifting upward */
.holo__scan { position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0,0,0,.22) 0 1px, transparent 1px 4px);
  animation: holo-drift 5.5s linear infinite; }
@keyframes holo-drift { to { background-position-y: -40px; } }
/* stepped, irregular — a smooth sine reads as a fade, not as unstable light */
@keyframes holo-flicker {
  0%, 92%, 100% { opacity: .88 } 93% { opacity: .78 } 94% { opacity: .9 }
  96% { opacity: .82 } 97% { opacity: .88 }
}
.holo__card { animation: holo-flicker 4.3s steps(1, end) infinite; }
.holo.is-held { cursor: grabbing; }
@media (prefers-reduced-motion: reduce) {
  .holo__card, .holo__scan { animation: none; }
}

/* --- the page itself -------------------------------------------------- */
.product__layout { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
                   align-items: start; max-width: 1100px; margin: 0 auto; padding: 0 16px 40px; }
@media (max-width: 860px) { .product__layout { grid-template-columns: minmax(0,1fr); } }
.product__stage { position: relative; width: 100%; aspect-ratio: 1/1; display: grid; place-items: center;
                  background: #f6f3ea; border: 1px solid rgba(61,220,87,.34); }
.product__stage.is-holo { background: #050a06; }
.product__photo { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.product__views { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.product__view-key, .product__size, .product__buy {
  appearance: none; cursor: pointer; min-height: 44px; padding: 0 14px;
  font-family: "Arial Narrow","Helvetica Neue",Helvetica,Arial,sans-serif;
  text-transform: uppercase; letter-spacing: .14em; font-weight: 700; font-size: .68rem;
  border: 1px solid rgba(61,220,87,.45); border-radius: 0;
  background: transparent; color: #66ff66;
}
.product__view-key:hover, .product__size:hover, .product__buy:hover { background: rgba(61,220,87,.16); }
.product__view-key[aria-pressed="true"], .product__size[aria-pressed="true"] {
  background: #3ddc57; color: #060d06;
}
.product__buy { width: 100%; background: #3ddc57; color: #060d06; margin-top: 14px; }
.product__buy[disabled] { opacity: .5; cursor: not-allowed; }
.holo-note { margin: 8px 0 0; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
             color: #5ac668; }
.product__detail { background-color: #0a140a; background-image: var(--term-grid);
                   border: 1px solid rgba(61,220,87,.34); padding: 18px; }
.product__title { margin: 0 0 6px; font-size: 1.15rem; letter-spacing: .06em;
                  text-transform: uppercase; color: #d8ffd2; }
.product__price { margin: 0 0 10px; font-size: 1.05rem; color: #f6f4ec; text-shadow: none; }
.product__type, .product__sizes-label { margin: 0 0 6px; font-size: .66rem; letter-spacing: .14em;
                  text-transform: uppercase; color: #5ac668; }
.product__sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.product__desc { margin-top: 18px; color: #78e084; font-size: .82rem; line-height: 1.6; }
.product__desc p { margin: 0 0 10px; }
.product__release { margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(61,220,87,.32); }
.product__release-label { margin: 0 0 10px; font-size: .64rem; letter-spacing: .16em;
                          text-transform: uppercase; color: #5ac668; }
/* square, because it is the cover — not a strip with the title printed twice */
.product__release-art { width: 100%; height: auto; max-width: 260px; aspect-ratio: 1;
  object-fit: contain; display: block; margin: 0 0 12px;
  border: 1px solid rgba(61,220,87,.4); background: #0a0f0a; }
.product__release-title { margin: 0 0 4px; font-size: .92rem; color: #d8ffd2; }
.product__release-note { margin: 0; font-size: .74rem; color: #5ac668; }
.product__loading, .product__missing { padding: 60px 16px; text-align: center; color: #66ff66; }
.product__back-link { color: #66ff66; }
