*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#001807}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.visually-hidden{position:fixed;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}button,a{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #c8b9ff;outline-offset:4px}
:root{color-scheme:dark;--cream:#fff1c2;--amber:#f4b34f;--brass:#bb7730;--brown:#2a1108;--black:#070403;--red:#a20b0b;--font-machine:"Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;--font-reel:"Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;--font-display:"Arial Narrow","Roboto Condensed",system-ui,sans-serif;--font-inscription:Georgia,"Times New Roman",serif;--ticker-optical-y:2px}
html,body{background:#050302!important;overscroll-behavior:none}
body{min-height:100dvh;color:var(--cream);font-family:var(--font-machine)}
button,a{-webkit-tap-highlight-color:transparent}
.music-machine{width:100%;height:100dvh;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,#32170b 0,#0c0503 42%,#020101 82%);isolation:isolate}
.festival-intro{position:fixed;inset:0;z-index:200;width:100vw;height:100dvh;overflow:hidden;background:transparent;perspective:clamp(900px,180vw,1700px);touch-action:none;cursor:pointer;isolation:isolate}
.festival-intro-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:#1a0904;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform;transition:transform var(--festival-intro-door-open,1.35s) cubic-bezier(.58,.02,.18,1)}
.festival-intro-door--left{left:0;transform-origin:0 50%}
.festival-intro-door--right{right:0;transform-origin:100% 50%}
.festival-intro-face{position:absolute;top:0;bottom:0;width:200%;overflow:hidden;background:#1a0904 url("../assets/music-machine/aggits-festival-cabinet-doors.webp") center/cover no-repeat}
.festival-intro-door--left .festival-intro-face{left:0}
.festival-intro-door--right .festival-intro-face{left:-100%}
.festival-intro-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;user-select:none}
.festival-intro-identity{position:absolute;left:21%;right:21%;top:20.5%;height:38%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-sizing:border-box;text-align:center;color:#c28a47;text-transform:uppercase;pointer-events:none}
.festival-intro-identity strong{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08em;max-width:100%;font:700 clamp(27px,6vmin,58px)/.92 var(--font-inscription);letter-spacing:.055em;color:#c79a5a;text-shadow:0 1px #f2c982,0 2px #4b230d,1px 3px 2px #130703}
.festival-intro-identity strong>span{display:block;white-space:nowrap}
.festival-intro-identity em{display:block;margin-top:.18em;color:#c79a5a;font:700 clamp(28px,6.4vmin,62px)/1 var(--font-inscription);font-style:normal;letter-spacing:.07em;text-shadow:0 1px #f2c982,0 2px #4b230d,1px 3px 2px #130703}
.festival-intro-identity small{display:block;margin-top:.62em;color:#c79a5a;font:700 clamp(27px,6.2vmin,60px)/1.22 var(--font-inscription);letter-spacing:.075em;text-shadow:0 1px #f2c982,0 2px #4b230d,1px 3px 2px #130703}
.festival-intro-identity[data-lines="1"] strong{font-size:clamp(33px,7.2vmin,70px)}
.festival-intro-identity[data-lines="3"] strong{font-size:clamp(22px,4.9vmin,48px);line-height:.9}
.festival-intro-identity.is-long strong{font-size:clamp(24px,5.25vmin,51px)}
.festival-intro-identity.is-very-long strong{font-size:clamp(19px,4.25vmin,41px);letter-spacing:.025em}
.festival-intro-door::after{content:"";position:absolute;top:0;bottom:0;width:2.4%;z-index:4;background:linear-gradient(90deg,#130603,#5d2d13 48%,#120603);box-shadow:0 0 11px #000;opacity:0;transition:opacity .3s ease}
.festival-intro-door--left::after{right:0}.festival-intro-door--right::after{left:0}
.festival-intro[data-intro-state="opening"]{cursor:default;pointer-events:auto}
.festival-intro[data-intro-state="opening"] .festival-intro-door--left{transform:rotateY(-108deg)}
.festival-intro[data-intro-state="opening"] .festival-intro-door--right{transform:rotateY(108deg)}
.festival-intro[data-intro-state="opening"] .festival-intro-door::after{opacity:1}
.festival-intro[data-intro-state="revealed"],.festival-intro[data-intro-state="complete"]{visibility:hidden;pointer-events:none}
.cabinet{position:relative;width:min(100vw,560px);height:100dvh;min-height:620px;overflow:hidden;filter:drop-shadow(0 0 26px #000)}
.cabinet-skin{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:-2}
.cabinet::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 47%,transparent 38%,rgba(0,0,0,.18) 74%,rgba(0,0,0,.4) 100%);pointer-events:none;z-index:20;mix-blend-mode:multiply}
.aggits-marquee{position:absolute;left:24%;right:24%;top:5.2%;height:12.4%;display:grid;place-items:center;filter:drop-shadow(0 5px 3px #000) drop-shadow(0 0 9px rgba(157,75,26,.36));z-index:2}
.aggits-marquee img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.machine-title{position:absolute;left:20.5%;right:20.5%;top:19.3%;height:5.7%;display:grid;place-items:center;text-align:center;color:#241306;text-shadow:0 1px 0 rgba(255,255,255,.45);font-weight:900;overflow:hidden;isolation:isolate}
.machine-title-identity,.artist-information{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .28s ease,filter .28s ease,transform .28s ease}
.machine-title-identity strong{font-size:clamp(11px,3.3vw,18px);line-height:1;letter-spacing:.01em;white-space:nowrap}
.machine-title-identity small{margin-top:.35em;font-size:clamp(8px,2.25vw,12px);letter-spacing:.045em;line-height:1;white-space:nowrap}.machine-title b{color:#91400d;margin:0 .2em}
.artist-information{opacity:0;filter:blur(1.5px);transform:translateY(1px);padding:0 3.4%;box-sizing:border-box;overflow:hidden;background:linear-gradient(180deg,rgba(255,241,199,.985),rgba(225,192,130,.985));box-shadow:inset 0 1px rgba(255,255,255,.36),inset 0 -1px rgba(79,39,13,.18)}
.artist-information-window{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.artist-information-track{display:flex;flex:none;width:max-content;align-items:center;transform:translate3d(0,2px,0);will-change:transform;backface-visibility:hidden}
.artist-information-track.is-entering{animation:artistInformationEnter var(--artist-entry-duration,4.5s) linear forwards}
.artist-information-track.is-streaming{animation:artistInformationStream var(--artist-duration,120s) linear infinite}
[data-artist-information],[data-artist-information-copy]{display:block;flex:none;white-space:nowrap;font-family:var(--font-machine);font-size:clamp(14px,4.25vw,23px);font-weight:900;line-height:.92;letter-spacing:.015em}
.machine-title[data-title-mode="artist"] .machine-title-identity{opacity:0;filter:blur(1.5px);transform:translateY(-1px)}
.machine-title[data-title-mode="artist"] .artist-information{opacity:1;filter:none;transform:none}
@keyframes artistInformationStream{from{transform:translate3d(0,2px,0)}to{transform:translate3d(-50%,2px,0)}}
@keyframes artistInformationEnter{from{transform:translate3d(var(--artist-entry-start,220px),2px,0)}to{transform:translate3d(0,2px,0)}}
.utility-controls{position:absolute;inset:1.7% 4.8% auto;z-index:30;display:flex;justify-content:space-between;pointer-events:none}
.utility-controls button{pointer-events:auto;min-width:44px;min-height:34px;border:1px solid rgba(255,225,161,.4);border-radius:999px;background:linear-gradient(#321a0d,#090403);color:#f9d79a;box-shadow:inset 0 1px 0 #ba8a4a,0 2px 5px #000;padding:.48em .9em;font-size:clamp(8px,2.1vw,11px);letter-spacing:.12em;font-weight:800;cursor:pointer}
.meter-bank{position:absolute;left:19.15%;right:19.15%;top:26.85%;height:10.35%;display:grid;grid-template-columns:1fr 13.5% 1fr;align-items:stretch;gap:.8%;padding:1.5% 1.7% 1.8%;z-index:3;isolation:isolate;border:1px solid #100502;border-radius:4%/13%;background:linear-gradient(180deg,#030101 0,#130704 17%,#040201 78%,#120603 100%);box-shadow:inset 0 7px 9px rgba(0,0,0,.98),inset 0 -2px 4px rgba(213,132,55,.18),inset 0 0 0 2px rgba(70,35,14,.82),0 0 0 2px #080302,0 0 0 4px #5d351b,0 0 0 5px #160904}
.meter-bank::before{content:"";position:absolute;inset:-7% -2.4% -8%;z-index:-2;border-radius:5%/16%;border:1px solid #180803;background:linear-gradient(180deg,#8d572a 0,#211006 18%,#0a0402 52%,#5d3318 83%,#170904 100%);box-shadow:inset 0 1px 0 rgba(255,220,148,.48),inset 0 -2px 2px rgba(0,0,0,.9),0 1px 0 rgba(242,174,87,.32)}
.meter-bank::after{content:"";position:absolute;inset:.9%;z-index:4;border:1px solid rgba(224,161,82,.28);border-radius:3.5%/11%;box-shadow:inset 0 2px 4px rgba(0,0,0,.9),inset 0 -1px 0 rgba(255,210,137,.2);pointer-events:none}
.vu-meter{min-width:0;overflow:hidden;border-radius:7%/12%;transform:translateZ(0);box-shadow:inset 0 5px 7px rgba(0,0,0,.82),inset 0 0 0 1px rgba(255,204,129,.08),0 0 0 1px rgba(62,31,13,.72)}.vu-meter svg{width:100%;height:100%;display:block;overflow:hidden}
.meter-rim{fill:#090504;stroke:#70401f;stroke-width:9}
.meter-face{stroke:#2a1309;stroke-width:4}.meter-tick{stroke:#2c190e;stroke-width:2}.meter-tick.major{stroke-width:3}.meter-tick.red{stroke:#a02b1d}.meter-number{fill:#321c0d;font-size:12px;font-weight:800;text-anchor:middle}.meter-number.red{fill:#a02b1d}
.meter-letter{fill:#251208;font-family:var(--font-inscription);font-size:37px;text-anchor:middle;font-weight:700}
[data-meter-shadow]{fill:#38200e;opacity:.2;filter:blur(1.2px)}.needle{fill:#fff4cb;stroke:#7c5428;stroke-width:.7}.meter-hub circle:first-child{fill:#130a05;stroke:#bd8745;stroke-width:4}.meter-hub circle:nth-child(2){fill:#6a3e1c;stroke:#f0c678;stroke-width:2}.meter-hub path{stroke:#160c07;stroke-width:3}.meter-reflection{fill:rgba(255,255,255,.12)}.meter-reflection--right{opacity:.7}
.meter-inscription{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d8ad70;font-family:var(--font-inscription);font-size:clamp(6px,1.5vw,9px);line-height:1.05;letter-spacing:.08em;text-shadow:0 1px #000;padding:4% 0;border:1px solid rgba(91,49,22,.56);border-radius:12%/6%;background:linear-gradient(90deg,#020101,#150804 45%,#040201);box-shadow:inset 4px 0 6px rgba(0,0,0,.9),inset -3px 0 5px rgba(0,0,0,.82),inset 0 2px 3px rgba(0,0,0,.68),inset 0 -1px 0 rgba(238,175,91,.1)}.meter-inscription b{font-size:1.2em;color:#f5c66f;margin-top:.2em}
.reel-bank{position:absolute;left:19.2%;right:19.2%;top:38%;height:18.2%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3%;z-index:4;overflow:visible;isolation:isolate}
.reel-bank::before{content:"";position:absolute;inset:-3% -2.2%;z-index:0;border-radius:3.5%/5%;background:linear-gradient(180deg,#060201,#1b0b05 8%,#050201 92%,#180904);box-shadow:inset 0 7px 10px rgba(0,0,0,.92),inset 0 -2px 2px rgba(235,161,78,.14),0 0 0 2px #090302,0 0 0 4px rgba(101,56,24,.72)}
.reel-bank::after{content:"";position:absolute;inset:-1.5% -.7%;z-index:6;border:1px solid rgba(242,185,102,.18);border-radius:2.5%/4%;box-shadow:inset 0 5px 7px rgba(0,0,0,.72),inset 0 -3px 4px rgba(0,0,0,.58);pointer-events:none}
.reel{position:relative;overflow:hidden;border-radius:9%/5%;background:#d6ae70 url("../assets/music-machine/aggits-reel-v2.webp") center/100% 132% no-repeat;box-shadow:inset 0 5px 8px rgba(49,19,4,.42),inset 0 -5px 8px rgba(27,9,2,.38),0 0 0 2px #120805;color:#1d120a;isolation:isolate;contain:layout paint;z-index:2}
.reel::before,.reel::after{content:"";position:absolute;left:8%;right:8%;height:16%;z-index:3;pointer-events:none}.reel::before{top:0;background:linear-gradient(rgba(10,5,3,.8),transparent)}.reel::after{bottom:0;background:linear-gradient(transparent,rgba(10,5,3,.82))}
.reel-strip{position:absolute;inset:2.5% 10% 3%;display:grid;grid-template-rows:repeat(3,1fr);align-items:stretch;text-align:center;will-change:transform;transform:translateY(0);z-index:2}
.reel-strip>*{position:relative;display:flex;align-items:center;justify-content:center;padding:0 2%;height:100%;overflow:hidden;font-family:var(--font-reel);font-stretch:condensed;font-size:clamp(8px,2.75vw,15px);line-height:.9;font-weight:900;text-transform:uppercase;word-break:normal;overflow-wrap:normal;hyphens:none;text-shadow:0 1px rgba(255,255,255,.55),0 -1px rgba(72,38,14,.18);transition:opacity .1s,filter .1s}.reel-strip>*.is-long{font-size:clamp(6.5px,2.05vw,12px);letter-spacing:-.015em}.reel-strip>*.is-very-long{font-size:clamp(5.5px,1.65vw,9px);line-height:.88;letter-spacing:-.035em}.reel-strip span{opacity:.52;filter:saturate(.68) contrast(.82) blur(.22px)}.reel-strip span:first-child{transform:perspective(120px) rotateX(-5deg)}.reel-strip span:last-child{transform:perspective(120px) rotateX(5deg)}.reel-strip strong{font-weight:950;z-index:1;filter:contrast(1.12);text-shadow:0 1px #fff3c8,0 2px 2px rgba(70,30,8,.32)}
.reel-strip strong::before{content:"";position:absolute;inset:8% -4%;z-index:-1;border:1px solid rgba(118,65,22,.72);border-radius:8%/18%;background:linear-gradient(90deg,rgba(141,78,24,.28),rgba(255,227,163,.63) 46%,rgba(135,70,20,.31));box-shadow:inset 0 1px 2px rgba(255,255,255,.62),inset 0 -2px 4px rgba(89,43,14,.28),0 0 5px rgba(215,137,45,.28)}
.reel.is-spinning .reel-strip>*{filter:blur(.72px);opacity:.68}.reel.is-locking{animation:reelLock .2s cubic-bezier(.16,.72,.24,1)}
@keyframes reelLock{0%{transform:translateY(-1.5px)}58%{transform:translateY(.7px)}100%{transform:none}}
.payline{position:absolute;left:-1%;right:-1%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#fac974 8%,#ffeac1 50%,#fac974 92%,transparent);box-shadow:0 0 6px #df8f21;z-index:1;pointer-events:none}
.payline-arrow{position:absolute;top:calc(50% - 8px);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;z-index:7;filter:drop-shadow(0 0 4px #d87f14)}.payline-arrow--left{left:-4%;border-left:0;border-right:11px solid #ffbd47}.payline-arrow--right{right:-4%;border-right:0;border-left:11px solid #ffbd47}
.ticker-panel{position:absolute;left:19%;right:19%;top:58.5%;height:7.4%;display:grid;place-items:center;z-index:5;overflow:hidden}
.ticker-window{width:91%;height:100%;overflow:hidden;white-space:nowrap;text-align:center;color:#ffdea0;text-shadow:0 0 4px rgba(255,171,55,.42);font-family:var(--font-display);font-weight:800;letter-spacing:.06em;font-size:clamp(9px,2.7vw,15px);display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding-top:var(--ticker-optical-y);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.ticker-copy{display:block;max-width:100%;line-height:1;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}.ticker-copy.is-scrolling{max-width:none;flex:none;animation:tickerMove var(--ticker-duration,12s) linear forwards}@keyframes tickerMove{from{transform:translate3d(var(--ticker-start,0px),0,0)}to{transform:translate3d(var(--ticker-end,0px),0,0)}}
.machine-status-window{mask-image:none}.machine-status-copy{display:block;max-width:92%;opacity:0;color:#ffdea0;font:900 clamp(8px,2.25vw,13px)/1.05 var(--font-machine);letter-spacing:.055em;text-align:center;text-transform:uppercase;text-shadow:0 0 4px rgba(255,171,55,.34);transition:opacity .18s ease}.machine-status-copy.is-active{opacity:1}
.winner-splash{position:absolute;left:8.5%;right:8.5%;top:28.9%;height:25.5%;z-index:18;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translateY(48%) scale(.86);transform-origin:50% 86%;filter:drop-shadow(0 9px 9px rgba(0,0,0,.78)) drop-shadow(0 0 13px rgba(255,143,31,.24));will-change:transform,opacity}
.winner-splash img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none}.winner-splash-copy{position:absolute;left:13%;right:13%;top:43%;height:35%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#241106;text-shadow:0 1px rgba(255,255,255,.5),0 2px 2px rgba(81,34,7,.22)}.winner-splash-copy small{font-family:Georgia,"Times New Roman",serif;font-size:clamp(7px,1.75vw,10px);font-weight:800;letter-spacing:.24em;line-height:1;margin-bottom:.55em}.winner-splash-copy strong{max-width:100%;font-family:"Arial Narrow","Roboto Condensed",Impact,system-ui,sans-serif;font-size:clamp(17px,5.2vw,31px);font-weight:950;line-height:.86;letter-spacing:-.025em;text-transform:uppercase}.winner-splash-copy strong.is-long{font-size:clamp(13px,4.25vw,25px);letter-spacing:-.035em}.winner-splash-copy strong.is-very-long{font-size:clamp(10px,3.4vw,20px);line-height:.88;letter-spacing:-.045em}
.music-machine[data-machine-state="WIN_CELEBRATION"] .winner-splash{animation:winnerSplashRise var(--winner-splash-total,4.52s) cubic-bezier(.16,.78,.2,1) both}.music-machine[data-machine-state="WIN_CELEBRATION"] .winner-splash img{animation:winnerBulbPulse .42s ease-in-out 4}
@keyframes winnerSplashRise{0%{opacity:0;transform:translateY(54%) scale(.86)}5.75%{opacity:1;transform:translateY(-1%) scale(1.015)}7%,93%{opacity:1;transform:translateY(0) scale(1)}94.25%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(48%) scale(.9)}}
@keyframes winnerBulbPulse{50%{filter:brightness(1.32) drop-shadow(0 0 7px rgba(255,190,84,.72))}}
.machine-controls{position:absolute;left:15.8%;right:15.8%;top:67.2%;height:10.5%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:1.8%;padding:1.5% 1.7%;box-sizing:border-box;z-index:6;isolation:isolate}
.machine-controls::before{content:"";position:absolute;inset:-3% -1.8%;z-index:-1;border:1px solid rgba(191,125,58,.46);border-radius:4%/12%;background:linear-gradient(180deg,#6d3b1b 0,#1a0905 14%,#080302 82%,#4e2914 100%);box-shadow:inset 0 6px 8px rgba(0,0,0,.9),inset 0 -1px rgba(255,197,112,.28),0 0 0 2px #100502,0 0 0 4px rgba(96,51,23,.76),0 4px 6px rgba(0,0,0,.72)}
.secondary-button,.buy-button,.play-button{position:relative;width:100%;height:76%;min-width:0;min-height:44px;border:1px solid rgba(245,207,143,.6);border-radius:10%/16%;overflow:hidden;box-sizing:border-box;color:#2b1508;text-decoration:none;text-align:center;font-family:var(--font-machine);font-weight:950;font-size:clamp(8px,2.35vw,13px);line-height:.92;letter-spacing:-.01em;text-shadow:0 1px rgba(255,255,255,.52);cursor:pointer;background:radial-gradient(ellipse at 50% 20%,#fff3c8 0,#efd39c 52%,#b57939 100%);box-shadow:inset 0 3px 5px rgba(255,255,255,.52),inset 0 -5px 8px rgba(94,42,12,.28),0 0 0 3px #170704,0 0 0 5px #75421f,0 3px 4px #000;display:grid;place-items:center;transition:transform .09s,filter .15s,box-shadow .12s,text-shadow .15s}
.secondary-button:not(:disabled):active,.buy-button:not(:disabled):active,.play-button[data-playback-ready="true"]:active{transform:translateY(1.5px);filter:brightness(.9);box-shadow:inset 0 5px 8px rgba(64,22,6,.32),0 0 0 3px #160704,0 0 0 5px #6a3b1c,0 1px 2px #000;text-shadow:0 0 transparent}.secondary-button:disabled,.buy-button:disabled{opacity:.45;cursor:default}.re-spin-button{font-size:clamp(7.2px,2.12vw,12px);letter-spacing:-.025em;white-space:nowrap}
.play-button{color:#fff0c6;font-family:Georgia,"Times New Roman",serif;font-size:clamp(12px,3.55vw,20px);letter-spacing:.02em;text-shadow:0 2px 2px #23030a,0 0 5px rgba(255,220,168,.18);background:radial-gradient(ellipse at 40% 22%,rgba(255,205,178,.32),transparent 27%),radial-gradient(ellipse at 50% 42%,#922c3b 0,#6b1727 46%,#3b0914 76%,#1a0309 100%);box-shadow:inset 0 3px 5px rgba(255,220,188,.28),inset 0 -7px 10px rgba(20,0,6,.62),0 0 0 3px #190508,0 0 0 5px #ac7434,0 0 9px rgba(132,28,45,.4),0 3px 4px #000}.play-button::before{content:"";position:absolute;inset:5%;z-index:2;border-radius:8%/14%;border-top:1px solid rgba(255,229,197,.24);border-bottom:1px solid rgba(25,0,7,.58);pointer-events:none}.play-button>span{position:relative;z-index:3;pointer-events:none}.play-button iframe{position:absolute;z-index:4;left:50%;top:50%;width:190px;height:42px;transform:translate(-21px,-50%);border:0;opacity:.002;background:transparent;pointer-events:none}.play-button[data-playback-ready="true"] iframe{pointer-events:auto}.play-button[data-playback-ready="false"]{filter:brightness(.54) saturate(.78);cursor:default;color:#b89b82}
.buy-button{color:#2b1508;background:radial-gradient(ellipse at 50% 18%,#fff5cf 0,#efd29a 55%,#ae6f34 100%);font-size:clamp(7px,2.05vw,11.5px);line-height:1.12;letter-spacing:-.02em}.buy-button span{position:relative;z-index:1;transform:translateY(1px);white-space:nowrap}.buy-button[data-primary-mode="dormant"]{filter:brightness(.63) saturate(.75);pointer-events:none}.buy-button[data-primary-mode="buy"]{box-shadow:inset 0 3px 5px rgba(255,255,255,.58),inset 0 -5px 8px rgba(94,42,12,.22),0 0 0 3px #170704,0 0 0 5px #91602a,0 0 10px rgba(232,164,75,.22),0 3px 4px #000;animation:bandcampInvitePulse 1.15s ease-in-out 3}
@keyframes bandcampInvitePulse{0%,100%{filter:brightness(1);box-shadow:inset 0 3px 5px rgba(255,255,255,.58),inset 0 -5px 8px rgba(94,42,12,.22),0 0 0 3px #170704,0 0 0 5px #91602a,0 0 10px rgba(232,164,75,.22),0 3px 4px #000}50%{filter:brightness(1.13);box-shadow:inset 0 3px 5px rgba(255,255,255,.68),inset 0 -5px 8px rgba(94,42,12,.18),0 0 0 3px #170704,0 0 0 5px #a87334,0 0 18px rgba(255,190,85,.48),0 3px 4px #000}}
.music-machine[data-machine-state="WIN_CELEBRATION"] .machine-controls>.secondary-button,.music-machine[data-machine-state="WIN_CELEBRATION"] .machine-controls>.play-button,.music-machine[data-machine-state="WIN_CELEBRATION"] .machine-controls>.buy-button{opacity:1;animation:winnerControlIllumination 1.15s cubic-bezier(.18,.72,.22,1) both}
@keyframes winnerControlIllumination{0%{filter:brightness(.72) saturate(.86)}22%{filter:brightness(1.62) saturate(1.08) drop-shadow(0 0 8px rgba(255,192,91,.82))}48%{filter:brightness(1.14) saturate(1.02) drop-shadow(0 0 3px rgba(255,176,73,.34))}72%{filter:brightness(1.4) saturate(1.06) drop-shadow(0 0 6px rgba(255,192,91,.58))}100%{filter:brightness(1) saturate(1)}}
.bandcamp-slot{position:absolute;inset:-2px 1.6%;z-index:7;opacity:0;transform:translateY(2px);pointer-events:none;padding:3px;border:1px solid rgba(209,153,78,.64);border-radius:12px;background:linear-gradient(180deg,#88582d 0,#2b120b 10%,#070202 84%,#573019 100%);box-shadow:inset 0 8px 10px rgba(0,0,0,.94),inset 0 -1px 0 rgba(255,205,126,.38),inset 0 0 0 1px rgba(12,2,2,.92),0 0 0 1px #1d0905,0 3px 4px rgba(0,0,0,.78);transition:opacity .28s,transform .28s;box-sizing:border-box}.music-machine[data-machine-state="PLAYING"] .bandcamp-slot,.music-machine[data-machine-state="READY_TO_PLAY"] .bandcamp-slot{opacity:1;transform:none;pointer-events:auto}.music-machine[data-machine-state="PLAYING"] .ticker-window,.music-machine[data-machine-state="READY_TO_PLAY"] .ticker-window{opacity:0;pointer-events:none}
.bandcamp-player-shell{position:relative;width:100%;height:100%;overflow:hidden;border-radius:9px;display:grid;grid-template-columns:clamp(42px,11.5vw,58px) minmax(0,1fr) clamp(30px,8vw,40px);align-items:center;background:radial-gradient(ellipse at 24% 0,rgba(143,58,38,.42),transparent 55%),linear-gradient(180deg,#32100d,#0c0203 72%,#210807);box-shadow:inset 0 1px 0 rgba(255,230,188,.2),inset 0 -4px 7px rgba(0,0,0,.82)}
.bandcamp-player-shell::after{content:"";position:absolute;inset:0;z-index:6;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.085),transparent 34%);pointer-events:none}
.player-artwork{position:relative;z-index:2;justify-self:center;width:clamp(36px,9.8vw,50px);aspect-ratio:1;overflow:hidden;border:1px solid #cf9451;border-radius:8%;display:grid;place-items:center;background:radial-gradient(circle at 48% 40%,#7d2934,#28070d 68%,#090303);box-shadow:inset 0 0 0 2px rgba(8,2,2,.82),0 2px 4px #000,0 0 0 1px rgba(42,13,7,.96)}.player-artwork img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.player-artwork span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(10px,2.8vw,15px);font-weight:700;color:#f0cc8a;letter-spacing:.04em;text-shadow:0 1px #000}.player-artwork::after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.16),transparent 36%,rgba(0,0,0,.18));pointer-events:none}
.bandcamp-track-information{position:relative;z-index:4;min-width:0;height:76%;display:grid;grid-template-rows:auto auto 1fr;align-content:center;padding:0 6%;border-left:1px solid rgba(223,167,91,.28);border-right:1px solid rgba(223,167,91,.28);color:#f3d7a0;text-align:left;text-shadow:0 1px #000}.bandcamp-track-information strong,.bandcamp-track-information>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bandcamp-track-information strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(10.5px,3.2vw,17px);line-height:1.02;font-weight:700;color:#f7dfad}.bandcamp-track-information>span{margin-top:2px;font-family:var(--font-display);font-size:clamp(7px,1.95vw,10px);line-height:1;color:#d2ac6e;letter-spacing:.025em}
.bandcamp-playback-status{min-width:0;display:grid;grid-template-columns:minmax(18px,1fr) auto auto;align-items:center;gap:5px;margin-top:5px}.bandcamp-playback-status i{display:block;height:3px;border-radius:99px;background:linear-gradient(90deg,#d5a15d,#6b351b 38%,#1a0905);box-shadow:inset 0 1px 1px #000,0 1px rgba(255,205,126,.14)}.bandcamp-playback-status em,.bandcamp-playback-status time{font-style:normal;white-space:nowrap;font-family:var(--font-display);font-size:clamp(4.6px,1.18vw,6.5px);line-height:1;letter-spacing:.035em;color:#bd9560}.bandcamp-playback-status time{color:#e2bd7a}.bandcamp-player-shell[data-playback-state="playing"] .bandcamp-playback-status i{background:linear-gradient(90deg,#f0bd69,#984127 72%,#2b0b08)}
.player-activity{position:relative;z-index:4;height:72%;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:0 13% 15%;border-left:1px solid rgba(223,167,91,.24);box-sizing:border-box}.player-activity i{display:block;width:3px;max-width:12%;height:28%;border-radius:2px 2px 0 0;background:linear-gradient(#ffc86c,#9c4f20);box-shadow:0 0 3px rgba(255,167,59,.22)}.player-activity i:nth-child(2){height:52%}.player-activity i:nth-child(3){height:77%}.player-activity i:nth-child(4){height:92%}.player-activity i:nth-child(5){height:61%}.player-activity i:nth-child(6){height:38%}.bandcamp-player-shell[data-playback-state="playing"] .player-activity{filter:brightness(1.25)}
.speaker-label{position:absolute;left:32%;right:32%;top:88.35%;color:#a67a40;font-family:var(--font-inscription);font-size:clamp(5.5px,1.55vw,9px);font-weight:700;text-align:center;line-height:1.18;letter-spacing:.09em;text-shadow:0 1px 1px #000,0 0 3px rgba(167,105,47,.18);z-index:5;transform:perspective(300px) rotateX(2deg)}
.music-machine[data-machine-content="festival"]{background:radial-gradient(circle at 50% 43%,#18351b 0,#071108 48%,#010403 86%)}
.music-machine[data-machine-content="festival"] .cabinet::before{background:radial-gradient(ellipse at 50% 47%,transparent 50%,rgba(0,8,2,.08) 72%,rgba(0,0,0,.32) 100%)}
.music-machine[data-machine-content="festival"] .utility-controls button{border-color:rgba(218,181,99,.72);color:#ffe6a2;background:linear-gradient(180deg,#19351d,#050a06 72%);box-shadow:inset 0 1px 0 rgba(255,238,170,.38),inset 0 -3px 5px #020402,0 0 0 2px rgba(10,18,10,.76),0 2px 5px #000}
.music-machine[data-machine-content="festival"] .meter-bank{background:linear-gradient(180deg,#020503,#102215 18%,#030604 80%,#0c1d11);box-shadow:inset 0 7px 9px rgba(0,0,0,.98),inset 0 -2px 4px rgba(166,204,88,.14),inset 0 0 0 2px rgba(28,60,34,.86),0 0 0 2px #030604,0 0 0 4px #8a682d,0 0 0 5px #09120a}
.music-machine[data-machine-content="festival"] .meter-bank::before{border-color:#0b150d;background:linear-gradient(180deg,#b3873d 0,#17331c 18%,#071209 58%,#5c471e 86%,#081009 100%);box-shadow:inset 0 1px 0 rgba(255,236,159,.54),inset 0 -2px 2px rgba(0,0,0,.92),0 1px 0 rgba(211,184,103,.38)}
.music-machine[data-machine-content="festival"] .meter-inscription{color:#e2c47a;background:linear-gradient(90deg,#020503,#102516 48%,#020503);border-color:rgba(170,141,69,.62)}
.music-machine[data-machine-content="festival"] .reel-bank::before{background:linear-gradient(180deg,#020403,#18351e 8%,#030604 92%,#102617);box-shadow:inset 0 7px 10px rgba(0,0,0,.94),inset 0 -2px 2px rgba(207,190,108,.18),0 0 0 2px #020403,0 0 0 4px rgba(140,108,48,.78)}
.music-machine[data-machine-content="festival"] .ticker-panel{border:1px solid rgba(198,165,78,.52);border-radius:5%/14%;background:linear-gradient(180deg,rgba(18,45,24,.98),rgba(2,10,5,.99));box-shadow:inset 0 4px 7px #000,inset 0 0 0 1px rgba(66,111,57,.32),0 0 0 2px rgba(12,30,16,.9)}
.music-machine[data-machine-content="festival"] .bandcamp-slot{border-color:rgba(210,179,91,.68);background:linear-gradient(180deg,#8a6a2c 0,#17351d 10%,#020704 84%,#58431d 100%)}
.music-machine[data-machine-content="festival"] .bandcamp-player-shell{background:radial-gradient(ellipse at 24% 0,rgba(104,145,53,.32),transparent 55%),linear-gradient(180deg,#15311b,#020704 72%,#0c2111)}
.music-machine[data-machine-content="festival"] .artist-machine-request{border-color:rgba(194,158,67,.64);color:#ead58c;background:linear-gradient(180deg,#15351d,#07140b 62%,#030704)}
.music-machine[data-machine-content="festival"] .machine-title-identity small{display:none}
.music-machine[data-machine-content="festival"] .machine-title-identity strong{max-width:92%;overflow:hidden;text-overflow:ellipsis;font-size:clamp(11px,3.25vw,18px);letter-spacing:.012em}
.music-machine[data-machine-content="festival"] .machine-title-identity strong.is-long{font-size:clamp(9px,2.75vw,15px);letter-spacing:-.005em}
.music-machine[data-machine-content="festival"] .machine-title-identity strong.is-very-long{font-size:clamp(7px,2.2vw,12px);letter-spacing:-.015em}
.music-machine[data-machine-mode="artist"] .machine-title-identity strong{max-width:94%;overflow:hidden;text-overflow:ellipsis;font-size:clamp(15px,5.1vw,29px)}
.music-machine[data-machine-mode="artist"] .machine-title-identity strong.is-long{font-size:clamp(12px,3.9vw,22px)}
.music-machine[data-machine-mode="artist"] .machine-title-identity strong.is-very-long{font-size:clamp(9px,3vw,17px)}
.music-machine[data-machine-mode="artist"] .machine-title-identity small{font-size:clamp(6px,1.75vw,10px);letter-spacing:.025em}
.music-machine[data-machine-mode="artist"] .reel-bank{left:22%;right:22%;top:37%;height:20.2%;grid-template-columns:1fr;gap:0}
.music-machine[data-machine-content="festival"] .reel-bank{left:19.2%;right:19.2%}
.music-machine[data-machine-mode="artist"] .reel-bank::before{inset:-2.5% -3.2%;border-radius:2.5%/5%}
.music-machine[data-machine-mode="artist"] .reel{border-radius:4%/6%;background-size:100% 140%}
.music-machine[data-machine-content="festival"] .reel{background-size:130% 140%}
.music-machine[data-machine-mode="artist"] .reel-strip{inset:2.5% 8% 3%}
.music-machine[data-machine-content="festival"] .reel-strip{inset:2.5% 13% 3%}
.music-machine[data-machine-mode="artist"] .reel-strip>*{padding:0 5%;font-size:clamp(13px,4.5vw,25px);line-height:.9}
.music-machine[data-machine-mode="artist"] .reel-strip>*.is-long{font-size:clamp(10px,3.55vw,20px);letter-spacing:-.018em}
.music-machine[data-machine-mode="artist"] .reel-strip>*.is-very-long{font-size:clamp(8px,2.8vw,16px);line-height:.9;letter-spacing:-.032em}
.music-machine[data-machine-mode="artist"] .ticker-panel{top:59%;height:7.4%}
.winner-splash-copy em{display:block;max-width:92%;margin-top:.45em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d2d11;font-family:Georgia,"Times New Roman",serif;font-size:clamp(6px,1.55vw,9px);font-style:normal;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.winner-splash-artwork{position:absolute;left:9.5%;top:14%;width:22%;height:72%;z-index:0;overflow:hidden;border:1px solid rgba(221,166,91,.72);border-radius:7%;background:#160704;box-shadow:inset 0 0 0 2px #080201,0 3px 7px #000}
.winner-splash-artwork img{width:100%;height:100%;object-fit:cover}
.music-machine[data-machine-mode="artist"] .winner-splash-copy{left:13%;right:13%}
.music-machine[data-artist-skin="workfriend-western"] .aggits-marquee{display:none}
.music-machine[data-artist-skin="workfriend-western"] .cabinet::before{background:radial-gradient(ellipse at 50% 47%,transparent 52%,rgba(0,0,0,.11) 82%,rgba(0,0,0,.28) 100%)}
.music-machine[data-artist-skin="workfriend-western"] .utility-controls button{border-color:#b73535;background:linear-gradient(#251519,#070405);box-shadow:inset 0 1px 0 #dd765e,0 2px 5px #000;color:#f3d7a2}
.music-machine[data-artist-skin="workfriend-western"] .machine-title{border:1px solid rgba(77,28,21,.72);border-radius:3%/14%;background:linear-gradient(180deg,rgba(255,244,207,.98),rgba(224,196,145,.98));box-shadow:inset 0 1px rgba(255,255,255,.62),inset 0 -2px 4px rgba(87,39,20,.2)}
.music-machine[data-artist-skin="workfriend-western"] .meter-bank::before{border-color:#701d1d;background:linear-gradient(180deg,#8b2924 0,#174d4c 17%,#082c2d 63%,#6a211d 100%);box-shadow:inset 0 1px 0 rgba(255,216,162,.42),inset 0 -2px 2px rgba(0,0,0,.9),0 0 0 1px #101615}
.music-machine[data-artist-skin="workfriend-western"] .reel-bank::before{background:linear-gradient(180deg,#180506,#6a201d 7%,#071f20 15%,#030202 90%,#70221e);box-shadow:inset 0 7px 10px rgba(0,0,0,.92),inset 0 -2px 2px rgba(235,161,78,.14),0 0 0 2px #090302,0 0 0 4px rgba(19,86,84,.74)}
.music-machine[data-artist-skin="workfriend-western"] .ticker-panel{border:1px solid rgba(170,54,48,.56);border-radius:5%/14%;background:linear-gradient(180deg,rgba(18,9,8,.96),rgba(3,4,4,.98));box-shadow:inset 0 3px 6px #000,0 0 0 2px rgba(13,67,66,.72)}
.music-machine[data-artist-skin="workfriend-western"] .machine-controls::before{border-color:#9d302a;background:linear-gradient(180deg,#943229 0,#0e4544 12%,#062728 84%,#6c211d 100%);box-shadow:inset 0 6px 8px rgba(0,0,0,.84),inset 0 -1px rgba(255,197,112,.3),0 0 0 2px #170604,0 0 0 4px rgba(89,28,24,.85),0 4px 6px rgba(0,0,0,.72)}
.music-machine[data-artist-skin="workfriend-western"] .secondary-button,.music-machine[data-artist-skin="workfriend-western"] .buy-button,.music-machine[data-artist-skin="workfriend-western"] .play-button{box-shadow:inset 0 3px 5px rgba(255,255,255,.5),inset 0 -5px 8px rgba(94,42,12,.28),0 0 0 3px #170704,0 0 0 5px #8b3028,0 3px 4px #000}
.music-machine[data-artist-skin="workfriend-western"] .lever img{filter:sepia(.28) saturate(1.35) hue-rotate(322deg) drop-shadow(0 6px 5px #000)}
.music-machine[data-artist-skin="workfriend-western"] .artist-machine-request{border-color:rgba(183,53,48,.68);background:linear-gradient(180deg,#103d3c,#0b1717 58%,#260b0a)}
body.artist-machine-page{overflow-y:auto;background:#050302!important}
.music-machine[data-machine-mode="artist"]{height:auto;min-height:100dvh;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.music-machine[data-machine-mode="artist"]>.cabinet{flex:none}
.artist-machine-request{width:min(calc(100% - 28px),520px);margin:18px auto max(28px,env(safe-area-inset-bottom));padding:20px 18px;text-align:center;color:#e8c88c;border:1px solid rgba(190,126,58,.55);border-radius:12px;background:linear-gradient(180deg,#241008,#0c0402);box-shadow:inset 0 1px rgba(255,218,155,.1),0 10px 28px rgba(0,0,0,.58)}
.artist-machine-request strong{display:block;margin-bottom:12px;font-size:clamp(12px,3.6vw,18px);letter-spacing:.13em}
.artist-machine-request button,.artist-machine-submit{min-height:44px;border:1px solid #d6a867;border-radius:7px;padding:10px 16px;color:#2b1508;background:linear-gradient(#fff0bf,#cf9650);box-shadow:inset 0 2px rgba(255,255,255,.45),0 3px 0 #562910;font:900 clamp(10px,3vw,14px)/1 var(--font-machine);letter-spacing:.04em;cursor:pointer}
.artist-machine-dialog{width:min(calc(100% - 28px),470px);max-height:min(88dvh,680px);overflow:auto;border:2px solid #8e5429;border-radius:16px;padding:0;color:#f4d59a;background:linear-gradient(150deg,#2c120a,#090302 66%);box-shadow:inset 0 0 0 2px #160704,inset 0 1px rgba(255,224,166,.18),0 22px 70px #000}
.artist-machine-dialog::backdrop{background:rgba(3,1,0,.8);backdrop-filter:blur(3px)}
.artist-machine-form{position:relative;display:grid;gap:12px;padding:26px 22px 24px}
.artist-machine-form h2{margin:0;padding-right:34px;color:#ffe4aa;font-size:clamp(17px,5vw,24px);line-height:1;letter-spacing:.035em}
.artist-machine-form>p{margin:0 0 3px;color:#c39a68;font-family:Georgia,"Times New Roman",serif;font-size:13px}
.artist-machine-form label{display:grid;gap:5px;color:#d3a66c;font-size:10px;font-weight:900;letter-spacing:.1em}
.artist-machine-form label small{font-size:.8em;color:#8e6c4d}
.artist-machine-form input,.artist-machine-form textarea{width:100%;border:1px solid #6f3b1d;border-radius:5px;padding:11px 12px;color:#fff0c9;background:#0d0503;box-shadow:inset 0 3px 7px rgba(0,0,0,.72);font:15px/1.25 Georgia,"Times New Roman",serif;outline:none}
.artist-machine-form input:focus,.artist-machine-form textarea:focus{border-color:#e0ae68;box-shadow:inset 0 3px 7px rgba(0,0,0,.72),0 0 0 2px rgba(224,174,104,.18)}
.artist-machine-dialog-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;color:#e8c78e;background:transparent;font:30px/1 Georgia,serif;cursor:pointer}
.artist-machine-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.artist-machine-submit{margin-top:3px}
.artist-machine-submit:disabled{filter:brightness(.55);cursor:wait}
.artist-machine-form-status{min-height:1.4em!important;margin:0!important;color:#f1c67d!important;font:900 11px/1.3 var(--font-machine)!important;letter-spacing:.06em;text-transform:uppercase}
.lever{position:absolute;right:-1.8%;top:28%;width:23%;height:35%;border:0;background:transparent;padding:0;z-index:28;cursor:grab;touch-action:none;transform-origin:50% 86%;filter:drop-shadow(0 6px 5px #000);will-change:transform}.lever:active{cursor:grabbing}.lever img{position:absolute;width:100%;height:100%;inset:0;object-fit:contain;mix-blend-mode:screen;pointer-events:none}.lever-hint{position:absolute;right:10%;top:43%;padding:.35em .5em;border-radius:999px;color:#ffe1a0;background:rgba(18,7,3,.78);font-size:clamp(7px,1.9vw,10px);font-weight:900;letter-spacing:.13em;box-shadow:inset 0 0 0 1px rgba(255,211,133,.35);transition:opacity .25s}.music-machine:not([data-machine-state="IDLE"]):not([data-machine-state="READY_TO_PLAY"]):not([data-machine-state="AWAITING_PLAY"]):not([data-machine-state="PLAYING"]) .lever{pointer-events:none}.music-machine[data-machine-state="SPIN_START"] .cabinet{animation:mechanismEngage .13s cubic-bezier(.2,.72,.25,1)}.music-machine[data-machine-state="WIN_CELEBRATION"] .cabinet{animation:cabinetKick .18s ease-in-out 3;filter:drop-shadow(0 0 28px #d25e15) brightness(1.14)}
@keyframes mechanismEngage{0%,100%{transform:none}48%{transform:translateY(.8px)}}
@keyframes cabinetKick{0%,100%{transform:translateX(0)}35%{transform:translateX(-2px)}70%{transform:translateX(2px)}}
.music-machine[data-machine-state="WIN_CELEBRATION"] .aggits-marquee img{animation:marqueeFlash .35s ease-in-out 6}@keyframes marqueeFlash{50%{filter:brightness(1.7) drop-shadow(0 0 13px #ff8b2b) drop-shadow(0 0 22px #fff0b0)}}
.music-machine[data-machine-state="WIN_CELEBRATION"] .payline{height:3px;box-shadow:0 0 15px #fff,0 0 28px #ff891a}
.music-machine[data-machine-content="festival"]{--machine-brass:#c68a3c;--machine-dark-brass:#38200d;--machine-green:#1d5a2c;--machine-dark-green:#03140a;--machine-cream:#f8e7b6;--machine-black:#020604;--machine-warm-light:#ffd477;--machine-bevel:inset 0 2px 2px rgba(255,244,197,.48),inset 0 -5px 8px rgba(24,10,2,.72),0 0 0 2px #120a03,0 0 0 4px #8a5d24,0 4px 7px #000}
.music-machine[data-machine-content="festival"]>.cabinet{width:min(100vw,calc(100dvh * 953 / 1650),560px);height:auto;min-height:0;aspect-ratio:953/1650;filter:drop-shadow(0 12px 30px #000)}
.music-machine[data-machine-content="festival"] .cabinet-skin{object-fit:fill}
.music-machine[data-machine-content="festival"] .aggits-marquee{left:22.5%;right:22.5%;top:7.3%;height:10.7%;filter:drop-shadow(0 4px 2px #000) drop-shadow(0 0 8px rgba(255,177,68,.3))}
.music-machine[data-machine-content="festival"] .aggits-tagline{position:absolute;left:-8%;right:-8%;bottom:-2%;color:#d9b873;font:700 clamp(5px,1.45vw,8px)/1 var(--font-inscription);letter-spacing:.28em;text-align:center;text-shadow:0 1px #000,0 0 5px rgba(255,199,96,.32);white-space:nowrap}
.music-machine[data-machine-content="festival"] .machine-title{left:19%;right:19%;top:20.45%;height:5.1%;padding:0 2.8%;color:#1d1309;text-shadow:0 1px rgba(255,255,255,.68),0 2px 2px rgba(55,29,8,.12)}
.music-machine[data-machine-content="festival"] .machine-title-identity strong{max-width:100%;font-size:clamp(11px,3.45vw,19px);letter-spacing:.005em}
.music-machine[data-machine-content="festival"] .machine-title-identity strong::before,.music-machine[data-machine-content="festival"] .machine-title-identity strong::after{content:"◆";margin:0 .65em;font-size:.7em}
.music-machine[data-machine-content="festival"] .machine-title-identity strong.is-long{font-size:clamp(9px,2.8vw,16px)}
.music-machine[data-machine-content="festival"] .machine-title-identity strong.is-very-long{font-size:clamp(7.4px,2.25vw,13px)}
.music-machine[data-machine-content="festival"] .utility-controls{inset:1.65% 3.15% auto}
.music-machine[data-machine-content="festival"] .utility-controls button{width:clamp(46px,11.2%,62px);min-width:46px;aspect-ratio:1;border-radius:50%;padding:.35em;font-size:clamp(7px,1.8vw,10px);line-height:1.05;white-space:normal;background:radial-gradient(circle at 44% 28%,#163c22,#031009 72%);box-shadow:inset 0 2px 2px rgba(235,255,181,.25),inset 0 -5px 7px #000,0 0 0 2px #090d07,0 0 0 4px #a87831,0 3px 7px #000}
.music-machine[data-machine-content="festival"] .meter-bank{left:18.55%;right:18.55%;top:27.15%;height:8.25%;gap:1.4%;padding:1.15% 1.4%;border:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .meter-bank::before{inset:-2% -1.2%;border:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .meter-bank::after{inset:.5%;border-color:rgba(255,223,143,.16)}
.music-machine[data-machine-content="festival"] .meter-inscription{font-size:clamp(6px,1.55vw,9px);border-color:rgba(215,167,74,.68);background:linear-gradient(90deg,#020704,#12311b 48%,#020704)}
.music-machine[data-machine-content="festival"] .reel-bank{left:17.9%;right:17.9%;top:36.3%;height:17.35%;grid-template-columns:1fr}
.music-machine[data-machine-content="festival"] .reel-bank::before{inset:-1.5% -1.1%;border-radius:3%/6%;background:rgba(2,7,4,.18);box-shadow:inset 0 6px 9px rgba(0,0,0,.72),0 0 0 1px rgba(186,128,48,.42)}
.music-machine[data-machine-content="festival"] .reel{border-radius:3%/7%;background-size:112% 142%;box-shadow:inset 0 6px 9px rgba(30,13,3,.38),inset 0 -6px 10px rgba(19,7,2,.35),0 0 0 1px #120805}
.music-machine[data-machine-content="festival"] .reel-strip{inset:2.5% 14% 3%}
.music-machine[data-machine-content="festival"] .reel-strip>*{padding:0 2.5%;font-size:clamp(14px,4.7vw,26px)}
.music-machine[data-machine-content="festival"] .reel-strip>*.is-long{font-size:clamp(10.5px,3.6vw,20px);letter-spacing:-.02em}
.music-machine[data-machine-content="festival"] .reel-strip>*.is-very-long{font-size:clamp(8px,2.8vw,16px);line-height:.86;letter-spacing:-.034em}
.music-machine[data-machine-content="festival"] .payline-arrow--left{left:-3.2%}.music-machine[data-machine-content="festival"] .payline-arrow--right{right:-3.2%}
.music-machine[data-machine-content="festival"] .ticker-panel{left:18.45%;right:18.45%;top:54.65%;height:6.8%;border:0;border-radius:4%/16%;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .bandcamp-slot{inset:0 .6%;border-color:rgba(229,190,92,.74);border-radius:10px;background:linear-gradient(180deg,#a27530 0,#14321b 9%,#020805 88%,#64471b 100%)}
.music-machine[data-machine-content="festival"] .bandcamp-player-shell{grid-template-columns:clamp(42px,10.8vw,58px) minmax(0,1fr) clamp(32px,8.5vw,44px);background:radial-gradient(ellipse at 25% 0,rgba(102,151,60,.3),transparent 52%),linear-gradient(180deg,#14341d,#020805 75%,#0a2111)}
.music-machine[data-machine-content="festival"] .lever{right:0;top:29.8%;width:20.5%;height:30.5%}
.music-machine[data-machine-content="festival"] .lever-hint{right:5%;top:44%;max-width:52px;border-radius:8px;text-align:center;line-height:1.02}
.festival-speaker-title{position:absolute;left:30.5%;right:30.5%;top:76%;height:8.6%;z-index:6;display:grid;place-items:center;padding:3% 7%;box-sizing:border-box;text-align:center;pointer-events:none;filter:drop-shadow(0 3px 2px #000)}
.festival-speaker-title>[data-festival-speaker-title]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12em;width:100%;height:100%;color:#bd8a3e;font:900 clamp(8px,2.35vw,13px)/.91 var(--font-inscription);letter-spacing:.025em;text-transform:uppercase;-webkit-text-stroke:.35px #2b1807;text-shadow:0 -1px rgba(255,232,158,.7),1px 1px #70471b,0 2px #251304,0 3px 3px #000}
.festival-speaker-title>[data-festival-speaker-title]>span{white-space:nowrap}
.festival-speaker-title[data-lines="1"]>[data-festival-speaker-title]{font-size:clamp(10px,3vw,17px)}
.festival-speaker-title[data-lines="2"]>[data-festival-speaker-title]{font-size:clamp(8.5px,2.55vw,14px)}
.festival-speaker-title.is-very-long>[data-festival-speaker-title]{font-size:clamp(6.5px,2vw,11px);letter-spacing:.006em}
.music-machine[data-machine-content="festival"]{--machine-brass:#a86f32;--machine-dark-brass:#301805;--machine-green:#07553a;--machine-dark-green:#02180f;--machine-cream:#f1d7a2;--machine-black:#090706;--machine-warm-light:#ffc56d;background:radial-gradient(circle at 50% 45%,#3c1a0b 0,#140704 49%,#030101 88%)}
.music-machine[data-machine-content="festival"] .cabinet::before{background:radial-gradient(ellipse at 50% 46%,transparent 57%,rgba(20,6,2,.08) 77%,rgba(0,0,0,.28) 100%)}
.music-machine[data-machine-content="festival"] .aggits-marquee{display:none}
.festival-header-graphic{position:absolute;left:18.7%;right:18.2%;top:2.8%;height:14.8%;z-index:3;overflow:hidden;display:grid;place-items:start center;box-sizing:border-box;padding:3.2% 7% 0;pointer-events:none}
.festival-header-graphic>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.72) saturate(.72) contrast(1.08);mix-blend-mode:multiply}
.festival-header-graphic>img[hidden]{display:none}
.festival-header-graphic>[data-festival-header-title]{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:100%;color:#2f1c10;font:700 clamp(8px,2.45vw,14px)/1.08 var(--font-inscription);letter-spacing:.12em;text-align:center;text-transform:uppercase;text-shadow:0 1px rgba(255,239,194,.55);filter:drop-shadow(0 1px rgba(83,45,19,.24))}
.festival-header-graphic>[data-festival-header-title]>span{white-space:nowrap}
.festival-header-graphic[data-lines="1"]>[data-festival-header-title]{font-size:clamp(10px,3vw,17px)}
.festival-header-graphic.is-long>[data-festival-header-title]{font-size:clamp(7px,2.05vw,12px);letter-spacing:.08em}
.festival-header-graphic.is-very-long>[data-festival-header-title]{font-size:clamp(6px,1.72vw,10px);letter-spacing:.045em}
.music-machine[data-machine-content="festival"] .machine-title{left:10%;right:10%;top:19.45%;height:4.55%;padding:0;color:#e8c98f;text-shadow:0 1px #000,0 0 4px rgba(255,177,74,.18)}
.music-machine[data-machine-content="festival"] .machine-title-identity{display:none}
.music-machine[data-machine-content="festival"] .artist-information{opacity:1;filter:none;transform:none;padding:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .artist-information-window{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.music-machine[data-machine-content="festival"] [data-artist-information],.music-machine[data-machine-content="festival"] [data-artist-information-copy]{color:#e9cf9a;font-size:clamp(9px,2.85vw,16px);font-weight:500;letter-spacing:.11em;text-shadow:0 1px #000}
.music-machine[data-machine-content="festival"] .utility-controls{inset:8.2% 4.1% auto}
.music-machine[data-machine-content="festival"] .utility-controls button{width:clamp(48px,13.1vw,72px);min-width:48px;min-height:48px;aspect-ratio:1;border:0;border-radius:50%;padding:.25em;color:#ead19d;background:transparent;box-shadow:none;font-size:clamp(7px,1.95vw,11px);line-height:1;letter-spacing:.08em;text-shadow:0 1px #000,0 0 4px rgba(255,196,101,.25)}
.music-machine[data-machine-content="festival"] .utility-controls button::after{display:block;margin-top:.48em;color:#f1d8a2;font-size:1.42em;line-height:.65;letter-spacing:0}
.music-machine[data-machine-content="festival"] .utility-controls button[data-action="home"]::after{content:"⌂"}
.music-machine[data-machine-content="festival"] .utility-controls button[data-action="sound"]::after{content:"◖))";font-size:.9em}
.music-machine[data-machine-content="festival"] .meter-bank{left:10.6%;right:11.3%;top:26.4%;height:8.75%;grid-template-columns:1fr 16.5% 1fr;gap:1%;padding:0;border:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .meter-bank::before,.music-machine[data-machine-content="festival"] .meter-bank::after{display:none}
.music-machine[data-machine-content="festival"] .vu-meter{border-radius:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .meter-rim,.music-machine[data-machine-content="festival"] .meter-face,.music-machine[data-machine-content="festival"] .meter-scale,.music-machine[data-machine-content="festival"] .meter-letter,.music-machine[data-machine-content="festival"] .meter-reflection{opacity:0}
.music-machine[data-machine-content="festival"] .needle{fill:#21150d;stroke:#120905;stroke-width:1.2}
.music-machine[data-machine-content="festival"] [data-meter-shadow]{fill:#1a0d06;opacity:.2}
.music-machine[data-machine-content="festival"] .meter-hub{opacity:.82}
.music-machine[data-machine-content="festival"] .meter-inscription{opacity:0;border:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .reel-bank{left:11.7%;right:15.4%;top:37.15%;height:17.15%;grid-template-columns:1fr}
.music-machine[data-machine-content="festival"] .reel-bank::before,.music-machine[data-machine-content="festival"] .reel-bank::after{display:none}
.music-machine[data-machine-content="festival"] .reel{border-radius:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .reel::before,.music-machine[data-machine-content="festival"] .reel::after{display:none}
.music-machine[data-machine-content="festival"] .reel-strip{inset:1.5% 14% 2.5%}
.music-machine[data-machine-content="festival"] .reel-strip>*{padding:0 2%;font-size:clamp(14px,4.55vw,25px)}
.music-machine[data-machine-content="festival"] .reel-strip>*.is-long{font-size:clamp(10.5px,3.45vw,19px)}
.music-machine[data-machine-content="festival"] .reel-strip>*.is-very-long{font-size:clamp(8px,2.62vw,14.5px)}
.music-machine[data-machine-content="festival"] .reel-strip strong::before{inset:8% -3%;border-color:rgba(113,66,27,.54);background:linear-gradient(90deg,rgba(149,89,34,.14),rgba(255,233,184,.52) 48%,rgba(142,80,28,.14));box-shadow:inset 0 1px 2px rgba(255,255,255,.5),inset 0 -2px 3px rgba(79,39,14,.2)}
.music-machine[data-machine-content="festival"] .payline-arrow--left{left:-1.8%}.music-machine[data-machine-content="festival"] .payline-arrow--right{right:-1.8%}
.music-machine[data-machine-content="festival"] .ticker-panel{left:12.1%;right:15.1%;top:55.95%;height:7.05%;border:0;border-radius:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .ticker-window{width:100%;color:#ecd29f;text-shadow:0 1px #000,0 0 4px rgba(255,170,63,.28)}
.music-machine[data-machine-content="festival"] .machine-status-copy{max-width:100%;font-size:clamp(16px,4.5vw,26px);line-height:.95;letter-spacing:-.01em;white-space:nowrap}
.music-machine[data-machine-content="festival"] .bandcamp-slot{inset:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .bandcamp-player-shell{grid-template-columns:clamp(45px,12vw,66px) minmax(0,1fr) clamp(34px,9vw,50px);border-radius:0;background:transparent;box-shadow:none}
.music-machine[data-machine-content="festival"] .bandcamp-player-shell::after{display:none}
.music-machine[data-machine-content="festival"] .player-artwork{width:clamp(41px,10.8vw,59px)}
.music-machine[data-machine-content="festival"] .machine-controls{--festival-secondary-type:clamp(7.5px,1.8vw,9px);--festival-control-gap:2.6%;--festival-icon-box-width:34%;--festival-icon-box-height:29%;left:7%;right:7%;top:64.35%;height:11.25%;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.48fr) repeat(2,minmax(0,1fr));align-items:center;column-gap:var(--festival-control-gap);padding:0;overflow:visible}
.music-machine[data-machine-content="festival"] .machine-controls::before{display:none}
.music-machine[data-machine-content="festival"] .machine-controls>.secondary-button,.music-machine[data-machine-content="festival"] .machine-controls>.buy-button{width:100%;height:auto;min-height:44px;aspect-ratio:1;align-self:center;justify-self:center;display:grid;place-items:center;padding:12%;border:0;border-radius:50%;color:#f0d9aa;background:transparent;box-shadow:none;font-family:Impact,"Arial Narrow",var(--font-machine);font-size:var(--festival-secondary-type);font-weight:400;line-height:1;letter-spacing:.01em;text-align:center;text-shadow:0 1px #000;overflow:visible}
.music-machine[data-machine-content="festival"] .control-stack{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:.3em;color:inherit;line-height:1;white-space:normal;transform:none}
.music-machine[data-machine-content="festival"] .control-icon-box{display:grid;place-items:center;width:var(--festival-icon-box-width);height:var(--festival-icon-box-height);flex:0 0 var(--festival-icon-box-height);color:#f2dba7;filter:drop-shadow(0 1px #000)}
.music-machine[data-machine-content="festival"] .control-icon{display:block;width:100%;height:100%;overflow:visible;color:inherit;fill:currentColor;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.music-machine[data-machine-content="festival"] .control-label{display:flex;flex-direction:column;align-items:center;justify-content:center;color:inherit;font:inherit;line-height:.86;letter-spacing:inherit;text-align:center;white-space:nowrap}
.music-machine[data-machine-content="festival"] .control-icon--share circle{stroke:none}
.music-machine[data-machine-content="festival"] .control-icon--share path{fill:none}
.music-machine[data-machine-content="festival"] .control-icon--bandcamp,.music-machine[data-machine-content="festival"] .control-icon--play,.music-machine[data-machine-content="festival"] .control-icon--love{stroke:none}
.music-machine[data-machine-content="festival"] .control-icon--respin{fill:none;stroke-width:2.15}
.music-machine[data-machine-content="festival"] .control-icon--respin path:last-child{fill:currentColor;stroke:none}
.music-machine[data-machine-content="festival"] .machine-controls>.buy-button .control-label{font-size:.88em;line-height:.95;letter-spacing:.005em}
.music-machine[data-machine-content="festival"] .machine-controls>.re-spin-button{font-size:var(--festival-secondary-type);line-height:1;letter-spacing:.01em;white-space:nowrap}
.music-machine[data-machine-content="festival"] .machine-controls>.play-button{align-self:center;justify-self:center;width:100%;height:auto;min-height:58px;aspect-ratio:1;border:0;border-radius:50%;color:#f4deb0;background:transparent;box-shadow:none;font-size:clamp(12px,2.9vw,17px);text-shadow:0 1px #000,0 0 6px rgba(255,225,154,.3)}
.music-machine[data-machine-content="festival"] .control-stack--play{gap:.24em}
.music-machine[data-machine-content="festival"] .control-stack--play .control-icon-box{width:25%;height:25%;flex-basis:25%}
.music-machine[data-machine-content="festival"] .play-button::before{display:none}
.music-machine[data-machine-content="festival"] .play-button iframe{width:180px;height:48px;transform:translate(-24px,-50%)}
.music-machine[data-machine-content="festival"] .secondary-button:not(:disabled):active,.music-machine[data-machine-content="festival"] .buy-button:not(:disabled):active,.music-machine[data-machine-content="festival"] .play-button[data-playback-ready="true"]:active{box-shadow:none;filter:brightness(1.35)}
.music-machine[data-machine-content="festival"] .love-button[data-loved="true"]{color:#ffd99b;background:radial-gradient(circle,rgba(112,24,21,.78),rgba(41,5,6,.2) 65%,transparent 70%);box-shadow:none}
.music-machine[data-machine-content="festival"] .love-button[data-loved="true"] .control-icon--love{color:#ffcf8a;filter:drop-shadow(0 0 4px rgba(255,102,61,.72))}
.music-machine[data-machine-content="festival"] .lever{right:0;top:28.2%;width:14.6%;height:25.9%}
.music-machine[data-machine-content="festival"] .lever img{object-fit:fill;mix-blend-mode:normal;filter:sepia(.18) saturate(.95) brightness(.88) drop-shadow(0 5px 4px #000)}
.music-machine[data-machine-content="festival"] .lever-hint{display:none}
.festival-speaker-title{left:35%;right:35%;top:80.45%;height:1.95%;padding:0;filter:none;overflow:hidden}
.festival-speaker-title>[data-festival-speaker-title]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#38200f;font:700 clamp(4px,1.15vw,6.5px)/1 var(--font-inscription);letter-spacing:.055em;-webkit-text-stroke:0;text-shadow:0 1px rgba(255,236,186,.48)}
.festival-speaker-title>[data-festival-speaker-title]>span{display:inline;white-space:nowrap}
.festival-speaker-title.is-long>[data-festival-speaker-title],.festival-speaker-title.is-very-long>[data-festival-speaker-title]{font-size:clamp(3.4px,.98vw,5.6px);letter-spacing:.025em}
.machine-status{position:fixed}
@media (min-width:561px){.cabinet{height:min(100dvh,920px);aspect-ratio:2/3}.music-machine{padding:10px}}
@media (max-height:700px){.cabinet{min-height:100dvh}.utility-controls{top:1%}}
@media (orientation:landscape){.festival-intro-face{background-size:cover}.festival-intro-face>img{object-fit:contain}.festival-intro-identity{left:28%;right:28%}}
@media (prefers-reduced-motion:reduce){.festival-intro-door{transition:transform var(--festival-intro-reduced-open,.28s) ease-out,opacity var(--festival-intro-reduced-open,.28s) linear}.festival-intro[data-intro-state="opening"] .festival-intro-door--left{transform:translateX(-9%);opacity:0}.festival-intro[data-intro-state="opening"] .festival-intro-door--right{transform:translateX(9%);opacity:0}.cabinet,.aggits-marquee img,.reel,.winner-splash,.winner-splash img,.artist-information-track,.buy-button{animation:none!important}.music-machine[data-machine-state="WIN_CELEBRATION"] .winner-splash{opacity:1;transform:none}.music-machine[data-machine-state="WIN_CELEBRATION"] .machine-controls>*{animation:winnerControlIllumination .01s linear both!important}.ticker-copy.is-scrolling{animation-duration:var(--ticker-reduced-duration,20s)!important}.reel.is-spinning .reel-strip>*{filter:none}.lever{transition-duration:.35s!important}}
