/* Native Mastervibes palette and fonts inherited from redesign.css. */
body{background:var(--bg);min-height:100vh}.av-shell{width:min(1100px,calc(100% - 64px));margin-inline:auto}.av-header{border-bottom:1px solid var(--line)}.av-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.av-header img{width:156px;height:auto}.av-badge{font-size:11px;line-height:1.5;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:7px 12px;white-space:nowrap}.av-intro{padding:46px 0 30px}.av-kicker{color:var(--yellow);font-size:10px;font-weight:600;letter-spacing:.2em}.av-intro h1{font-size:clamp(42px,6vw,68px);letter-spacing:-.035em;margin:10px 0 10px;line-height:1.08}.av-intro h1 span{color:var(--yellow)}.av-intro>p{font-size:15px;line-height:1.6}.av-workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.55fr);background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 20px 60px #00000020}.av-config,.av-listen{padding:30px}.av-config{border-right:1px solid var(--line);background:#ffffff02}.av-workspace h2{font-family:Poppins,Arial,sans-serif;font-size:18px;line-height:1.4;letter-spacing:-.025em}.av-config h2{margin-bottom:24px}.av-config>label{display:block;font-size:12px;color:var(--muted);margin:20px 0 8px}.av-config select{display:block;width:100%;min-height:48px;border:1px solid #414149;background:#141417;color:#fff;border-radius:9px;padding:10px 13px;font:400 14px/1.5 Poppins,Arial,sans-serif}.av-config select:hover:not(:disabled){border-color:var(--lavender)}.av-config select:focus-visible{outline:2px solid var(--lavender);outline-offset:3px}.av-config select:disabled{color:var(--muted);opacity:1;cursor:default;background:#ffffff04}.av-description{font-size:12px;line-height:1.7;margin-top:12px;min-height:62px;max-width:36ch}.av-settings{font-size:11px;line-height:1.8;margin-top:16px;color:var(--muted)}.av-settings b{font-weight:600;color:var(--yellow)}.av-player-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.av-format{color:var(--muted);font-size:10px;letter-spacing:.1em;white-space:nowrap}.av-ab{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#121212;border:1px solid var(--line);border-radius:10px;padding:4px;margin-top:24px}.av-ab button{min-height:44px;border:1px solid transparent;background:transparent;border-radius:7px;font-size:13px;color:var(--muted);transition:background .18s,border-color .18s,color .18s}.av-ab button>span{font-size:10px;font-weight:600;margin-right:8px;opacity:.65}.av-ab button[aria-pressed=true]{background:#ffcc0012;border-color:#ffcc0060;color:var(--yellow)}.av-ab #after[aria-pressed=true]{background:#6f5eff18;border-color:#6f5eff70;color:#c4bbff}.av-wave{height:116px;margin-top:24px;border-radius:9px;background:#121212;overflow:hidden}.av-wave canvas{display:block;width:100%;height:100%}.av-position{display:flex;align-items:center;gap:14px;margin-top:10px}.av-position input{width:100%;min-width:0;accent-color:var(--yellow);cursor:pointer}.av-position span{font-size:11px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.av-play-row{display:flex;align-items:center;gap:24px;margin-top:24px}.av-play.button{min-width:132px;min-height:46px;padding:10px 20px;font-size:13px}.av-match{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12px;line-height:1.5}.av-match input{width:16px;height:16px;margin:0;accent-color:var(--yellow);flex-shrink:0}.av-hint{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:3px}.av-status{font-size:11px;line-height:1.6;min-height:18px;margin-top:12px;color:var(--yellow)}.av-export{border-top:1px solid var(--line);margin-top:16px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.av-export-title{font-size:13px;font-weight:600}.av-export .button{font-size:12px;min-height:44px;padding:10px 16px;gap:16px;white-space:nowrap}.av-export a[aria-disabled=true]{opacity:.45;pointer-events:none}.av-details{border:0!important;background:none!important;padding:0!important;margin-top:20px}.av-details summary{font-size:11px;font-weight:400!important;color:var(--muted);padding:0!important;cursor:pointer;list-style:revert}.av-details p{font-size:11px;line-height:1.8;margin:10px 0 0!important}.av-footer{display:flex;justify-content:space-between;gap:18px;padding:18px 0 28px;font-size:10px;color:var(--muted)}@media(max-width:800px){.av-shell{width:calc(100% - 40px)}.av-workspace{grid-template-columns:1fr}.av-config{border-right:0;border-bottom:1px solid var(--line)}.av-config,.av-listen{padding:24px}.av-description{max-width:none;min-height:0}.av-intro{padding-top:32px}.av-footer{flex-wrap:wrap;gap:6px}.av-player-heading h2{font-size:17px}}@media(max-width:440px){.av-shell{width:calc(100% - 28px)}.av-header-inner{min-height:72px;gap:10px}.av-header img{width:135px}.av-badge{font-size:10px;padding:6px 9px}.av-config,.av-listen{padding:20px}.av-play-row{gap:14px;flex-wrap:wrap}.av-export{align-items:flex-start;flex-direction:column;gap:14px}.av-export .button{width:100%}.av-format{font-size:9px}.av-wave{height:100px}}

.av-config select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23b9b8c5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.av-config select:disabled{background-image:none;padding-right:13px}.av-play.button{min-width:48px;width:48px;height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.av-play svg{display:block}.av-config .av-upload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:116px;border:1px dashed #6f5eff88;border-radius:10px;background:#6f5eff08;color:#fff;margin-top:20px;text-align:center;padding:16px;cursor:pointer}.av-upload svg{color:var(--yellow)}.av-upload span{max-width:100%;overflow-wrap:anywhere;font-size:13px}.av-upload small{color:var(--muted);font-size:10px}.av-upload input{position:absolute;width:1px;height:1px;opacity:0}.av-upload:focus-within{outline:2px solid var(--lavender);outline-offset:3px}.av-upload.dragging{background:#6f5eff22;border-color:var(--lavender)}.av-config #bpm{width:100%;height:48px;background:#141417;color:#fff;border:1px solid #414149;border-radius:9px;padding:10px 13px;font:inherit;font-size:14px}.av-config .av-process{width:100%;font-size:13px;margin-top:24px;min-height:46px}.av-config .av-example-label{font-size:10px}.av-config #voice{min-height:40px;font-size:12px}.av-description{min-height:0}.av-workspace{align-items:stretch}.av-listen{display:flex;flex-direction:column}.av-export{margin-top:auto;padding-top:22px}.av-status{margin-bottom:18px}.av-wave{height:150px}.av-config #role:disabled{background-image:none}button:disabled{cursor:default}
/* Studio and Mastercoins: code-native metallic coin, shared Mastervibes branding. */
.studio-header-actions{display:flex;align-items:center;gap:14px}.wallet-pill{display:flex;align-items:center;gap:9px;border:1px solid #ffcc0040;border-radius:99px;background:#ffcc0009;padding:8px 14px;color:#f7e9b1;font:500 12px Poppins,sans-serif;cursor:pointer}.mastercoin{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;color:#6b3e04;font:bold 16px Oswald,sans-serif;background:linear-gradient(135deg,#fff7ca 0%,#dca231 24%,#ffe896 46%,#b56c10 75%,#ffe8a0);border:2px solid #d9a332;box-shadow:inset 0 0 0 2px #ffe29a,inset 0 0 0 3px #9b650f,0 2px 0 #7a490e,0 4px 12px #0007;text-shadow:0 1px #fff4ac;position:relative}.mastercoin.large{width:54px;height:54px;font-size:28px;margin-bottom:16px;box-shadow:inset 0 0 0 3px #ffe29a,inset 0 0 0 4px #9b650f,0 3px 0 #7a490e,0 10px 25px #ffc00015}.studio-tools{display:flex;gap:24px;align-items:center;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}.studio-tools>a{color:var(--yellow);text-decoration:none}.studio-tools>span{color:var(--muted)}.studio-tools span span,.studio-tools a span,.studio-tools small{font-size:9px;margin-left:7px;color:var(--muted)}.studio-pricing{padding:64px 0 24px}.pricing-heading h2{font-family:Poppins,sans-serif;font-size:30px;letter-spacing:-.04em;margin:12px 0}.pricing-heading p{font-size:13px;line-height:1.9;color:var(--muted)}.credit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 20px}.credit-grid article{position:relative;border:1px solid var(--line);border-radius:16px;padding:28px;background:linear-gradient(145deg,#242328,#17171b);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.credit-grid h3{font:600 17px Poppins,sans-serif;margin:16px 0 12px}.credit-grid strong{font:600 32px Poppins,sans-serif;letter-spacing:-.04em}.credit-grid p{font-size:11px;color:var(--muted);margin:12px 0 24px}.credit-grid button,.studio-premium button,.wallet-dialog button:not(.wallet-close):not(.wallet-reset){font:500 12px Poppins,sans-serif;border:1px solid #ffcc0060;background:#ffcc0010;color:#ffe79c;padding:12px 18px;border-radius:8px;cursor:pointer}.credit-grid button{margin-top:auto;width:100%}.credit-grid article.featured{border-color:#ffcc0070;background:radial-gradient(ellipse at top right,#ffcc0014,transparent 70%),#1b1b20}.plan-tag{font-size:9px;letter-spacing:.12em;color:var(--yellow);min-height:54px;display:flex;align-items:center;margin-bottom:16px}.studio-premium{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid #ffcc0030;border-radius:16px;background:linear-gradient(115deg,#2b2415,#18181c)}.studio-premium h3{font:600 19px Poppins,sans-serif;margin:10px 0}.studio-premium p{font-size:11px;line-height:1.9;color:var(--muted)}.studio-premium button{flex-shrink:0}.credit-rules{margin-top:20px;border:0!important;background:transparent!important;padding:0!important}.credit-rules summary{font-size:12px;cursor:pointer}.credit-rules p{font-size:12px;line-height:1.9;color:var(--muted);max-width:85ch}.demo-note{font-size:10px;color:var(--muted);margin-top:22px}.wallet-dialog{width:min(460px,calc(100% - 32px));max-height:85vh;overflow:auto;background:#1b1b20;color:#fff;border:1px solid #ffcc0050;border-radius:20px;padding:32px;box-shadow:0 30px 100px #000a}.wallet-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.wallet-dialog>.av-kicker{display:block}.wallet-dialog h2{font:600 28px Poppins,sans-serif;letter-spacing:-.04em;margin:14px 0}.wallet-dialog p{font-size:12px;line-height:1.8;color:var(--muted)}.wallet-close{position:absolute;right:18px;top:12px;background:none;border:0;color:#aaa;font-size:28px;cursor:pointer}.wallet-link{display:block;font-size:12px;margin:18px 0;color:var(--yellow)}.wallet-demo-controls{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line)}.wallet-dialog button:disabled{opacity:.45;cursor:default}.wallet-dialog [hidden]{display:none!important}.wallet-dialog ul{list-style:none;padding:0;font-size:11px}.wallet-dialog li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.wallet-dialog li b{color:var(--yellow)}.wallet-reset{background:none;border:0;color:var(--muted);font:400 10px Poppins,sans-serif;text-decoration:underline;cursor:pointer}.wallet-pill:focus-visible,.credit-grid button:focus-visible,.studio-premium button:focus-visible,.wallet-dialog button:focus-visible{outline:2px solid var(--lavender);outline-offset:4px}@media(max-width:800px){.credit-grid{grid-template-columns:1fr}.credit-grid article{padding:22px}.plan-tag{min-height:0;margin:0}.credit-grid .mastercoin.large{margin-bottom:0}.studio-premium{align-items:flex-start;flex-direction:column}.studio-pricing{padding-top:40px}.studio-header-actions .av-badge{display:none}}@media(max-width:440px){.wallet-pill{padding:6px 10px;gap:6px}.wallet-pill>span:not(.mastercoin){font-size:0}.studio-tools{gap:12px}.pricing-heading h2{font-size:25px}.wallet-dialog{padding:26px}}
/* Minted Mastervibes coin: original brand mark engraved into the metal. */
.mastercoin{border:1px solid #bc8d32;background:repeating-conic-gradient(from 5deg,#b27f2c 0deg 2deg,#ffe2a0 2deg 4deg,#af7724 4deg 5deg);box-shadow:inset 0 0 0 1px #fff0b4,0 2px 0 #785019,0 4px 9px #0008;isolation:isolate}
.mastercoin::before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(ellipse at 28% 18%,#fff4c2 0%,#efd38a 15%,#a97628 42%,#edce7a 63%,#8f5a18 91%);box-shadow:inset 0 1px 2px #fff9d1,inset 0 -2px 3px #5d3609,inset 0 0 0 1px #7c501b;z-index:-1}
.coin-logo{display:block;position:absolute;width:68%;height:68%;left:16%;top:16%;background:linear-gradient(150deg,#6d4216,#c69b50 45%,#513311 54%,#8c6027);mask:url('/assets/img/branding/mastervibes-white.png') center/contain no-repeat;-webkit-mask:url('/assets/img/branding/mastervibes-white.png') center/contain no-repeat;filter:drop-shadow(0 1px 0 #fff0bb) drop-shadow(0 -1px 0 #674111);pointer-events:none}.mastercoin.large{box-shadow:inset 0 0 0 1px #fff0b4,0 3px 0 #785019,0 9px 24px #0009}
.coin-machine{height:178px;margin-top:20px;border:1px solid #45434a;border-radius:14px;position:relative;overflow:hidden;perspective:700px;background:radial-gradient(ellipse at 25% 0%,#3d3830,transparent 65%),linear-gradient(145deg,#232327,#121214 60%,#25252a);box-shadow:inset 0 1px 0 #ffffff12,inset 0 -3px 8px #0008,0 12px 28px #0003}.machine-grain{position:absolute;inset:0;opacity:.2;background:repeating-linear-gradient(90deg,#ffffff10 0px,transparent 1px,transparent 3px);pointer-events:none}.machine-coin.mastercoin{width:94px;height:94px;left:calc(50% - 47px);top:34px;position:absolute;transform:translateX(-60px) rotate(-12deg);border-width:2px;box-shadow:inset 0 0 0 1px #fff0b4,3px 3px 0 #785019,5px 4px 0 #b38331,8px 12px 16px #0008;z-index:2;will-change:transform,opacity}.machine-coin::before{inset:5px;box-shadow:inset 0 1px 3px #fff9d1,inset 0 -3px 5px #5d3609,inset 0 0 0 1px #7c501b}.machine-coin .coin-logo{width:72%;height:62%;left:14%;top:16%}.coin-inscription{position:absolute;top:13px;left:0;right:0;font:500 6px Poppins,sans-serif;letter-spacing:.12em;text-align:center;color:#69451b;text-shadow:0 1px #ffe8a0}.coin-value{position:absolute;bottom:13px;left:0;right:0;font:600 8px Poppins,sans-serif;letter-spacing:.18em;text-align:center;color:#69451b;text-shadow:0 1px #ffe8a0}.machine-reader{position:absolute;left:calc(50% - 26px);top:18px;width:52px;height:126px;border:1px solid #49474a;border-radius:13px;background:linear-gradient(100deg,#454347,#131315 25%,#303035 85%,#545154);box-shadow:inset 0 1px #ffffff35,4px 6px 12px #0009;z-index:1}.reader-slot{position:absolute;left:18px;top:24px;width:14px;height:79px;border-radius:8px;background:#030304;box-shadow:inset 3px 0 4px #000,1px 0 0 #7d7770,-1px 0 0 #000,0 0 0 3px #151518}.reader-light{position:absolute;top:11px;left:22px;width:6px;height:6px;border-radius:50%;background:#9c6c24;box-shadow:0 0 4px #ffcc0030}.reader-mark{position:absolute;bottom:5px;left:0;right:0;text-align:center;font:500 7px Poppins,sans-serif;letter-spacing:.12em;color:#898383}.machine-caption{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:500 8px Poppins,sans-serif;letter-spacing:.16em;color:#9e947e}
.coin-machine[data-state=inserting] .machine-coin{animation:coin-insert 1.6s cubic-bezier(.25,.8,.25,1) forwards}.coin-machine[data-state=accepted] .machine-coin,.coin-machine[data-state=ready] .machine-coin{opacity:0;transform:translateX(0) rotateY(88deg) scale(.78)}.coin-machine[data-state=accepted] .reader-light,.coin-machine[data-state=ready] .reader-light{background:#ffe7a0;box-shadow:0 0 5px #ffdc75,0 0 16px #ffcc00aa}.coin-machine[data-state=accepted] .reader-slot,.coin-machine[data-state=ready] .reader-slot{box-shadow:inset 3px 0 4px #000,1px 0 0 #bfa26d,-1px 0 0 #000,0 0 0 3px #151518,0 0 18px #ffcc0025}.coin-machine[data-state=ready] .machine-caption{color:#f2d997}.coin-machine[data-state=error] .machine-coin{transform:translateX(-60px) rotate(-12deg);opacity:1;transition:transform .5s,opacity .5s}.coin-machine[data-state=error] .machine-caption{color:#e7bfa0}
@keyframes coin-insert{0%{transform:translateX(-60px) translateY(0) rotate(-12deg) rotateY(0);opacity:1}35%{transform:translateX(-28px) translateY(-9px) rotate(0) rotateY(15deg);opacity:1}65%{transform:translateX(0) translateY(0) rotate(0) rotateY(82deg);opacity:1}79%{transform:translateX(0) translateY(0) translateZ(-35px) rotateY(88deg);opacity:1}100%{transform:translateX(0) translateY(0) translateZ(-180px) rotateY(88deg) scale(.78);opacity:0}}
.av-config .av-process{margin-top:16px}.av-preview-free,.av-coin-replay{display:block;width:100%;border:0;background:none;font:400 11px Poppins,sans-serif;color:#c0b5ee;margin-top:12px;cursor:pointer}.av-coin-replay{font-size:9px;color:var(--muted);margin-top:10px}.av-preview-free:disabled{opacity:.4}.av-preview-free:focus-visible,.av-coin-replay:focus-visible{outline:2px solid var(--lavender);outline-offset:4px}@media(prefers-reduced-motion:reduce){.coin-machine[data-state=inserting] .machine-coin{animation:none;transform:rotateY(88deg);opacity:0}.coin-machine[data-state=error] .machine-coin{transition:none}}
/* Second reader pass: correctly sized throat, metal occlusion and contact shadow. */
.coin-machine{height:194px;perspective:850px;background:radial-gradient(ellipse at 25% 16%,#4e4536aa,transparent 65%),radial-gradient(ellipse at 72% 54%,#333338,transparent 55%),linear-gradient(145deg,#242427,#121214 65%,#27272b)}
.machine-coin.mastercoin{width:76px;height:76px;left:calc(50% - 38px);top:44px;transform:translate3d(-64px,6px,40px) rotateZ(-16deg) rotateY(-16deg);transform-style:preserve-3d;transform-origin:50% 50%;box-shadow:inset 0 0 0 1px #fff0b4,2px 0 0 #966426,4px 0 0 #dbb65b,5px 0 0 #6d491d,7px 6px 14px #0008;will-change:transform,clip-path;backface-visibility:visible}
.machine-coin .coin-logo{width:72%;height:62%;left:14%;top:16%}.machine-coin .coin-inscription{font-size:5px;top:10px}.machine-coin .coin-value{font-size:7px;bottom:10px}
.machine-reader{top:17px;height:134px;width:56px;left:calc(50% - 28px);background:linear-gradient(100deg,#5e5b58,#202024 18%,#101013 43%,#333238 82%,#77716a);box-shadow:inset 0 1px #ffffff45,inset 0 -1px #000b,5px 8px 13px #000a}
.reader-slot{left:20px;top:23px;width:14px;height:84px;border:1px solid #030303;background:linear-gradient(90deg,#010102,#030304 60%,#17161a);box-shadow:inset 3px 0 5px #000,1px 0 #a29b90,-1px 0 #000,0 0 0 3px #151518;border-radius:8px}
.reader-light{left:24px;top:10px;transition:background .25s,box-shadow .3s}.reader-mark{bottom:8px}
.reader-lip{position:absolute;z-index:3;top:37px;left:calc(50% + 7px);width:14px;height:90px;border-radius:0 5px 5px 0;background:linear-gradient(90deg,#9b9080 0%,#343134 15%,#252429 75%,#484449);box-shadow:inset 1px 0 #e0cfac55,3px 0 5px #0008;pointer-events:none}
.coin-floor-shadow{position:absolute;top:139px;left:calc(50% - 93px);width:57px;height:9px;border-radius:50%;background:#0009;filter:blur(4px);transform:scaleX(1.1);opacity:.65;will-change:transform,opacity}
.reader-pulse{position:absolute;left:calc(50% - 31px);top:14px;width:62px;height:140px;border:1px solid #edd49a;border-radius:16px;opacity:0;pointer-events:none}
.coin-machine[data-state=inserting] .machine-coin{animation:minted-insert 2.4s linear forwards}
.coin-machine[data-state=inserting] .coin-floor-shadow{animation:coin-shadow-travel 2.4s linear forwards}
.coin-machine[data-state=inserting] .reader-light{animation:reader-reading 2.4s linear forwards}
.coin-machine[data-state=accepted] .machine-coin,.coin-machine[data-state=ready] .machine-coin{opacity:1;transform:translate3d(8px,0,-35px) rotateY(85deg);clip-path:inset(0 100% 0 0)}
.coin-machine[data-state=accepted] .coin-floor-shadow,.coin-machine[data-state=ready] .coin-floor-shadow{opacity:0}
.coin-machine[data-state=accepted] .reader-pulse{animation:reader-confirm .7s ease-out both}
.coin-machine[data-state=ready] .machine-reader{border-color:#b8a07180;box-shadow:inset 0 1px #ffffff45,5px 8px 13px #000a,0 0 20px #ffcc0010}
.coin-machine[data-state=error] .machine-coin{transform:translate3d(-64px,6px,40px) rotateZ(-16deg) rotateY(-16deg);clip-path:inset(0);transition:transform .7s cubic-bezier(.2,.8,.3,1)}
@keyframes minted-insert{
0%{transform:translate3d(-64px,6px,40px) rotateZ(-16deg) rotateY(-16deg);clip-path:inset(0);animation-timing-function:cubic-bezier(.22,.65,.3,1)}
38%{transform:translate3d(-29px,-7px,32px) rotateZ(-2deg) rotateY(24deg);clip-path:inset(0);animation-timing-function:cubic-bezier(.4,0,.25,1)}
67%{transform:translate3d(-2px,0,0) rotateZ(0) rotateY(83deg);clip-path:inset(0);animation-timing-function:cubic-bezier(.22,.6,.25,1)}
78%{transform:translate3d(0,0,0) rotateZ(0) rotateY(85deg);clip-path:inset(0);animation-timing-function:cubic-bezier(.45,0,.5,1)}
92%{transform:translate3d(7px,0,-24px) rotateY(85deg);clip-path:inset(0 68% 0 0);animation-timing-function:ease-out}
100%{transform:translate3d(8px,0,-35px) rotateY(85deg);clip-path:inset(0 100% 0 0)}}
@keyframes coin-shadow-travel{0%{transform:translateX(0) scaleX(1.1);opacity:.65}38%{transform:translateX(36px) scaleX(.8);opacity:.45}67%,78%{transform:translateX(64px) scaleX(.12);opacity:.55}100%{transform:translateX(70px) scaleX(.06);opacity:0}}
@keyframes reader-reading{0%,68%{background:#9c6c24;box-shadow:0 0 4px #ffcc0030}80%,90%{background:#ffe7a0;box-shadow:0 0 5px #ffdc75,0 0 13px #ffcc0070}100%{background:#ffe7a0;box-shadow:0 0 5px #ffdc75,0 0 16px #ffcc00aa}}
@keyframes reader-confirm{0%{opacity:.5;transform:scale(.98)}100%{opacity:0;transform:scale(1.13)}}
@media(prefers-reduced-motion:reduce){.coin-machine[data-state=inserting] .machine-coin,.coin-machine[data-state=inserting] .coin-floor-shadow,.coin-machine[data-state=inserting] .reader-light,.coin-machine[data-state=accepted] .reader-pulse{animation:none}.coin-machine[data-state=inserting] .machine-coin{clip-path:inset(0 100% 0 0)}.coin-machine[data-state=error] .machine-coin{transition:none}}
/* Machined reader v3. The coin has separate depth planes, not a fading flat disc. */
.coin-machine{height:216px;perspective:900px;perspective-origin:50% 42%;background:radial-gradient(ellipse at 19% 30%,#56462c66,transparent 64%),linear-gradient(125deg,#2c2b2f,#17171a 52%,#242429);box-shadow:inset 0 1px #ffffff1c,inset 0 -1px #000,0 16px 32px #0004}
.machine-engraving{position:absolute;left:18px;top:14px;font:500 7px Poppins,sans-serif;letter-spacing:.14em;color:#9d9587;text-shadow:0 1px #000}.machine-caption{bottom:16px;font-size:8px;letter-spacing:.12em}.machine-grain{opacity:.14}
.machine-coin.mastercoin{width:86px;height:86px;left:calc(50% - 43px);top:55px;transform:translate3d(-53px,7px,35px) rotateZ(-13deg) rotateY(-22deg);transform-style:preserve-3d;clip-path:none;box-shadow:none;border:0;background:none;filter:none;isolation:auto}
.machine-coin.mastercoin::before{display:none}.coin-face{position:absolute;inset:0;border-radius:50%;transform:translateZ(4px);background:repeating-conic-gradient(#a77625 0deg 2deg,#ffe9a3 2deg 4deg,#926218 4deg 5deg);box-shadow:inset 0 0 0 1px #fff5c7;backface-visibility:hidden;overflow:hidden}
.coin-face::before{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(ellipse at 28% 20%,#fff2b8,#d9b86d 30%,#987038 53%,#edcf86 78%,#a2702d);box-shadow:inset 0 1px 2px #fff6ce,inset 0 -2px 4px #674117,inset 0 0 0 1px #886026}.coin-face .coin-logo{filter:drop-shadow(0 1px 0 #fff2c8) drop-shadow(0 -1px 0 #5d3914)}
.coin-edge{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#5c3d17 0deg 2deg,#edce83 2deg 4deg,#8e621f 4deg 5deg);box-shadow:inset 0 0 0 1px #af8344;backface-visibility:visible}.edge-back{transform:translateZ(-4px)}.edge-mid{transform:translateZ(-1px)}.edge-front{transform:translateZ(2px)}
.coin-sheen{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 38%,#fff9d566 45%,#fffbea99 47%,transparent 55%);transform:translateX(-55%);mix-blend-mode:soft-light;pointer-events:none}
.machine-reader{left:calc(50% + 4px);top:35px;width:58px;height:134px;border:1px solid #706b62;background:linear-gradient(95deg,#6c6660 0%,#302e31 10%,#111113 29%,#323136 76%,#93887a 100%);box-shadow:inset 0 1px #fff6de44,inset 0 -2px #0009,5px 9px 15px #000b}.reader-slot{left:21px;top:16px;width:14px;height:94px;border-radius:8px;background:linear-gradient(90deg,#000,#030304 65%,#0f0e12);box-shadow:inset 4px 0 5px #000,1px 0 #b5a68d,-1px 0 #000,0 0 0 3px #17161a}.reader-light{left:26px;top:121px;width:5px;height:5px}.reader-mark{top:5px;bottom:auto;font-size:6px}.reader-lip{left:calc(50% + 40px);top:48px;width:18px;height:100px;z-index:4;border-radius:0 6px 6px 0;background:linear-gradient(90deg,#b2a48d 0%,#62584e 8%,#343136 22%,#2e2b30 75%,#655f58);box-shadow:inset 1px 0 #fff5d855,4px 2px 5px #0008}.reader-pulse{left:calc(50% + 1px);top:32px;width:64px;height:140px}
.coin-floor-shadow{top:160px;left:calc(50% - 79px);width:54px;height:8px;filter:blur(5px)}
.coin-machine[data-state=inserting] .machine-coin{animation:coin-mechanism-v3 2.9s linear forwards}.coin-machine[data-state=inserting] .coin-floor-shadow{animation:contact-shadow-v3 2.9s linear forwards}.coin-machine[data-state=inserting] .coin-sheen{animation:coin-reflection-v3 2.9s ease-in-out forwards}.coin-machine[data-state=inserting] .reader-light{animation:reader-reading 2.9s linear forwards}
.coin-machine[data-state=accepted] .machine-coin,.coin-machine[data-state=ready] .machine-coin{visibility:hidden;opacity:1;clip-path:none;transform:translate3d(45px,0,-25px) rotateY(88deg)}.coin-machine[data-state=error] .machine-coin{visibility:visible;opacity:1;clip-path:none;transform:translate3d(-53px,7px,35px) rotateZ(-13deg) rotateY(-22deg)}
@keyframes coin-mechanism-v3{
0%{transform:translate3d(-53px,7px,35px) rotateZ(-13deg) rotateY(-22deg);animation-timing-function:cubic-bezier(.22,.8,.3,1)}
34%{transform:translate3d(-5px,-8px,48px) rotateZ(-1deg) rotateY(12deg);animation-timing-function:cubic-bezier(.45,0,.22,1)}
65%{transform:translate3d(29px,0,2px) rotateZ(0) rotateY(82deg);animation-timing-function:cubic-bezier(.2,.6,.3,1)}
74%{transform:translate3d(32px,0,0) rotateY(86deg);animation-timing-function:cubic-bezier(.6,0,.3,1)}
86%{transform:translate3d(36px,0,-4px) rotateY(88deg);animation-timing-function:cubic-bezier(.25,.8,.3,1)}
100%{transform:translate3d(45px,0,-25px) rotateY(88deg)}}
@keyframes contact-shadow-v3{0%{transform:translateX(0) scaleX(1);opacity:.55}34%{transform:translateX(48px) scaleX(.7);opacity:.35}65%,74%{transform:translateX(85px) scaleX(.13);opacity:.5}100%{transform:translateX(95px) scaleX(.08);opacity:0}}
@keyframes coin-reflection-v3{0%{transform:translateX(-55%)}45%{transform:translateX(35%)}100%{transform:translateX(90%)}}
@media(prefers-reduced-motion:reduce){.coin-machine[data-state=inserting] .machine-coin,.coin-machine[data-state=inserting] .coin-floor-shadow,.coin-machine[data-state=inserting] .reader-light,.coin-machine[data-state=inserting] .coin-sheen{animation:none}.coin-machine[data-state=inserting] .machine-coin{visibility:hidden;clip-path:none}}
/* Solid 12px rim: closely spaced planes form a continuous cylinder at every angle. */
.machine-coin.mastercoin{transform:translate3d(-53px,7px,0) rotateZ(-13deg) rotateY(-22deg)}
.coin-edge{background:repeating-conic-gradient(from 3deg,#7c5322 0deg 1.5deg,#e5c580 1.5deg 3deg,#a77a39 3deg 4.5deg);box-shadow:inset 0 0 0 1px #a97b3c;backface-visibility:visible}
.coin-face{transform:translateZ(6.3px)}
.reader-slot{left:19px;width:18px}.reader-lip{left:calc(50% + 42px)}
.coin-machine[data-state=inserting] .machine-coin{animation:coin-mechanism-v4 2.9s linear forwards}
.coin-machine[data-state=accepted] .machine-coin,.coin-machine[data-state=ready] .machine-coin{transform:translate3d(51px,0,0) rotateY(88deg)}
.coin-machine[data-state=error] .machine-coin{transform:translate3d(-53px,7px,0) rotateZ(-13deg) rotateY(-22deg)}
@keyframes coin-mechanism-v4{
0%{transform:translate3d(-53px,7px,0) rotateZ(-13deg) rotateY(-22deg);animation-timing-function:cubic-bezier(.3,.5,.35,1)}
38%{transform:translate3d(-9px,-5px,0) rotateZ(-2deg) rotateY(22deg);animation-timing-function:cubic-bezier(.4,0,.4,1)}
72%{transform:translate3d(29px,0,0) rotateZ(0) rotateY(84deg);animation-timing-function:cubic-bezier(.3,.5,.4,1)}
100%{transform:translate3d(51px,0,0) rotateZ(0) rotateY(88deg)}}
@media(prefers-reduced-motion:reduce){.coin-machine[data-state=inserting] .machine-coin{animation:none;visibility:hidden}}
