/* v103 — authored five-beat Wurstmaschine. All selectors are scoped to the shared reveal. */
.dd-test-reveal{--dd-lime:#d9f778;position:fixed;inset:0;z-index:9996;display:grid;place-items:center;padding:26px;background:#101210;color:#f7f2e9;isolation:isolate;overflow:hidden;touch-action:none;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background .5s ease}
.dd-test-reveal::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 46% 45%,#4c554032,transparent 62%),linear-gradient(115deg,#ffffff03,transparent 45%);transition:opacity .5s}
.dd-test-reveal *{box-sizing:border-box}.dd-test-reveal-panel{width:min(1080px,100%);display:grid;grid-template-columns:1.35fr 1fr;column-gap:44px;align-items:center;position:relative}
.dd-reveal-accessible{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dd-reveal-eyebrow{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;color:#aaa99d;margin-bottom:12px}
.dd-reveal-eyebrow>span{height:6px;width:6px;background:var(--dd-lime);border-radius:50%;box-shadow:0 0 14px #d9f74466}
.dd-reveal-scene{position:relative;grid-column:1;grid-row:2/4;aspect-ratio:1.18;min-width:0;perspective:800px;animation:dd-scene-enter .5s ease-out both}
.dd-reveal-orbit{position:absolute;inset:13% 4% 14%;border:1px solid #b4c39913;border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 90px #d9f77806,inset 0 0 70px #d9f77803}
.dd-reveal-orbit::after{content:"";position:absolute;inset:15% -8%;border:1px solid #b4c3990d;border-radius:50%;transform:rotate(44deg)}
.dd-reveal-signals{position:absolute;inset:0;z-index:4;pointer-events:none}.dd-reveal-token{position:absolute;left:calc(-8% + var(--i)*1%);top:var(--y);display:grid;place-items:center;width:33px;height:27px;background:linear-gradient(140deg,#e7f8b32b,#d9f77809);border:1px solid #d9f77855;color:#e2f5b0;border-radius:7px;font-style:normal;font-size:16px;box-shadow:0 4px 10px #0003;animation:dd-token-feed 1.5s cubic-bezier(.5,0,.8,1) infinite;animation-delay:var(--delay)}
.dd-reveal-token:nth-child(3n){left:80%;animation-name:dd-token-feed-right}.dd-reveal-token:nth-child(2n){width:24px;height:24px;animation-duration:1.8s}
.dd-reveal-rosi{position:absolute;left:-9%;top:6%;width:88%;height:72%;z-index:3;transform-origin:57% 90%;animation:dd-rosi-notice .85s ease-in-out both;filter:drop-shadow(0 15px 16px #0005)}
.dd-rosi-pose{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;pointer-events:none;transition:opacity .25s ease;animation:none!important;margin:0!important;max-width:none!important}.dd-rosi-focused,.dd-rosi-proud{opacity:0}
.dd-reveal-machine{position:absolute;z-index:5;left:40%;top:48%;width:52%;height:34%;transform:rotate(-2deg);filter:drop-shadow(8px 16px 12px #0005);transform-origin:30% 90%;transition:transform .4s}
.dd-machine-body{position:absolute;inset:12% 0 6%;border:1px solid #737a635c;border-radius:20px 23px 15px 17px;background:linear-gradient(155deg,#41463e 0%,#232722 25%,#1b1e1b 60%,#2f352c);box-shadow:inset 0 2px 1px #ffffff1b,inset 0 -4px 5px #0008,4px 2px 0 #151813}
.dd-machine-hopper{position:absolute;left:7%;top:-14%;width:37%;height:34%;background:linear-gradient(110deg,#4c5344,#22271e);clip-path:polygon(0 0,100% 0,75% 100%,28% 100%);border-top:4px solid #afc18b;z-index:-1;text-align:center;overflow:hidden}
.dd-machine-hopper span{display:inline-block;color:var(--dd-lime);font-size:17px;margin:3px;animation:dd-hopper 1s linear infinite}.dd-machine-hopper span+span{animation-delay:-.5s}
.dd-machine-brand{position:absolute;top:10%;left:10%;right:9%;display:flex;justify-content:space-between;font-weight:800;font-size:11px;letter-spacing:.05em;color:#d9ded0}.dd-machine-brand span{color:var(--dd-lime);font-size:7px;animation:dd-indicator .7s ease-in-out infinite}
.dd-machine-window{position:absolute;left:10%;right:10%;top:33%;height:34%;display:flex;gap:7%;overflow:hidden;padding:5px 9px;border-radius:6px;background:#0c100d;box-shadow:inset 0 2px 4px #000a;border:1px solid #6976594f}
.dd-machine-window>i{flex:1;border-radius:50%;border:1px solid #a3b582;background:repeating-conic-gradient(#818d66 0deg 15deg,#263323 15deg 45deg);animation:dd-roller 1.2s linear infinite}.dd-machine-window>i:nth-child(2n){animation-direction:reverse}
.dd-machine-scan{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#d9f77824,transparent);animation:dd-scan .8s linear infinite}
.dd-machine-base{position:absolute;bottom:8%;left:10%;right:9%;display:flex;align-items:center;justify-content:space-between;gap:5px;color:#a1ab92;font:7px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em}.dd-machine-base b{color:var(--dd-lime);font-size:16px;line-height:7px}
.dd-machine-spout{position:absolute;right:-8%;top:39%;width:12%;height:27%;border-radius:0 5px 5px 0;background:linear-gradient(#687257,#283220 65%,#4e5b3c);border:1px solid #798466;z-index:-1}.dd-machine-foot{position:absolute;left:12%;right:12%;bottom:0;border-bottom:6px solid #090d09;border-radius:4px}
.dd-reveal-floor{position:absolute;left:4%;right:0;top:82%;height:11%;border-radius:50%;background:radial-gradient(ellipse,#0007,transparent 70%);transform:scaleX(1.08);z-index:0}
.dd-reveal-capsule{position:absolute;z-index:6;display:flex;justify-content:center;align-items:center;gap:12px;left:61%;top:58%;width:38%;height:12%;border-radius:100px;background:linear-gradient(170deg,#efffac,#d4ec80 50%,#acc851);box-shadow:inset 0 2px 2px #fff8,inset 0 -3px 3px #5d741255,0 10px 24px #0006;color:#24311a;transform:translateX(-30%) scale(.15);opacity:0;transition:transform .6s cubic-bezier(.25,1.4,.45,1),opacity .2s;font-size:19px}.dd-reveal-capsule b{font-size:9px;letter-spacing:.11em;white-space:nowrap}.dd-reveal-capsule::before,.dd-reveal-capsule::after{content:"";position:absolute;left:10%;height:80%;width:1px;background:#6c832a33;transform:rotate(-12deg)}.dd-reveal-capsule::after{left:auto;right:10%}
.dd-reveal-spark{position:absolute;z-index:6;opacity:0;color:#eafbb1;transition:opacity .2s;font-size:33px}.spark-one{left:20%;top:15%}.spark-two{right:4%;top:38%;font-size:23px}
.dd-reveal-copy{grid-column:2;grid-row:2;align-self:end;padding-bottom:28px}.dd-reveal-beat{font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--dd-lime);letter-spacing:.1em}.dd-reveal-copy h2{font-size:clamp(32px,3.6vw,49px);font-weight:650;line-height:1.07;letter-spacing:-.045em;margin:14px 0 15px;max-width:440px;min-height:2.15em}.dd-reveal-copy p{font-size:14px;line-height:1.5;color:#aaa99d;margin:0}
.dd-reveal-tray{grid-column:2;grid-row:3;align-self:start;border-top:1px solid #d4dfb527;border-bottom:1px solid #d4dfb519;padding:15px 0 12px;overflow:hidden;text-align:left}.dd-reveal-tray-head,.dd-reveal-tray-foot{display:flex;justify-content:space-between;align-items:center;font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;color:#9d9f90}.dd-reveal-tray-head i{width:6px;height:6px;border-radius:50%;background:var(--dd-lime);animation:dd-indicator 1s infinite}.dd-reveal-tray-foot{margin-top:8px;font-size:10px;letter-spacing:0;color:#858b7f}.dd-reveal-tray-foot>span+span{font-size:14px;color:#a6b887}
.dd-reveal-ticker{height:131px;margin:4px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;mask-image:linear-gradient(transparent,#000 28%,#000 94%,transparent)}
.dd-ticker-row{flex:0 0 29px;display:flex;gap:11px;align-items:center;color:#c2c7b8;font-size:12px;line-height:1.3;animation:dd-ticker-in .22s ease-out both;white-space:nowrap;transition:opacity .25s}.dd-ticker-row:nth-last-child(n+4){opacity:.32}.dd-ticker-row:nth-last-child(3){opacity:.52}.dd-ticker-row:nth-last-child(2){opacity:.75}.dd-ticker-row:last-child{color:#eef4df}.dd-ticker-glyph{width:15px;color:#b9cf8e;font-size:15px}.dd-ticker-bars{margin-left:auto;flex-shrink:0;width:26px;height:9px;background:repeating-linear-gradient(90deg,#b8ce8b 0 2px,transparent 2px 5px);opacity:.7;clip-path:polygon(0 80%,0 40%,20% 40%,20% 0,40% 0,40% 30%,60% 30%,60% 50%,80% 50%,80% 10%,100% 10%,100% 100%,0 100%);animation:dd-bars .7s alternate infinite}.dd-ticker-row:not(:last-child) .dd-ticker-bars{animation:none;opacity:.3}.dd-reveal-ticker.is-locked .dd-ticker-row:not(:last-child){opacity:0}.dd-reveal-ticker.is-locked .dd-ticker-row:last-child{color:var(--dd-lime)}
.dd-test-reveal[data-phase=feeding] .dd-reveal-rosi{animation:dd-rosi-nudge .85s ease-in-out infinite}.dd-test-reveal[data-phase=feeding] .dd-rosi-curious,.dd-test-reveal[data-phase=processing] .dd-rosi-curious{opacity:0}.dd-test-reveal[data-phase=feeding] .dd-rosi-focused,.dd-test-reveal[data-phase=processing] .dd-rosi-focused{opacity:1}
.dd-test-reveal[data-phase=processing] .dd-reveal-machine{animation:dd-machine-work .22s ease-in-out infinite}.dd-test-reveal[data-phase=processing] .dd-machine-window>i{animation-duration:.35s}.dd-test-reveal[data-phase=processing] .dd-reveal-rosi{animation:dd-rosi-follow 1.1s ease-in-out infinite}.dd-test-reveal[data-phase=processing] .dd-reveal-token{animation-duration:.7s}
.dd-test-reveal.is-jammed .dd-machine-window>i,.dd-test-reveal.is-jammed .dd-reveal-token{animation-play-state:paused}.dd-test-reveal.is-jammed .dd-reveal-machine{transform:rotate(3deg) translateY(-3px)}.dd-test-reveal.is-jammed .dd-reveal-rosi{transform:rotate(4deg) translateX(8px);animation:none}
.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-reveal-signals{opacity:0;transition:opacity .25s}.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-rosi-curious,.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-rosi-focused{opacity:0}.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-rosi-proud{opacity:1}.dd-test-reveal[data-phase=capsule] .dd-reveal-rosi{animation:dd-rosi-delight .65s ease-out both}.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-reveal-capsule{opacity:1;transform:translate(0,26%) rotate(8deg)}.dd-test-reveal:is([data-phase=capsule],[data-phase=ready]) .dd-reveal-spark{opacity:1;animation:dd-spark .7s ease-out both}.dd-test-reveal[data-phase=ready] .dd-reveal-capsule{transform:translate(-27%,-28%) rotate(-5deg) scale(1.2)}.dd-test-reveal[data-phase=ready] .dd-reveal-machine{transform:translateY(8px) rotate(-3deg)}
.dd-test-reveal[data-phase=result]{background:transparent;pointer-events:none;touch-action:auto}.dd-test-reveal[data-phase=result]::before{opacity:0}.dd-test-reveal[data-phase=result] .dd-test-reveal-panel{opacity:0;transform:translateY(-20px) scale(1.015);transition:opacity .5s ease,transform .5s ease}.dd-result-arriving{animation:dd-result-arrive .6s cubic-bezier(.2,.7,.2,1) both}.dd-test-reveal-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}
@keyframes dd-token-feed{0%{opacity:0;transform:translate(-30px,-20px) rotate(-20deg) scale(.8)}15%{opacity:1}80%{opacity:1}100%{left:48%;top:44%;opacity:0;transform:translate(0,0) rotate(15deg) scale(.45)}}
@keyframes dd-token-feed-right{0%{opacity:0;transform:translate(20px,-30px) rotate(22deg)}15%{opacity:1}80%{opacity:1}100%{left:49%;top:44%;opacity:0;transform:translate(0,0) rotate(-10deg) scale(.45)}}
@keyframes dd-rosi-notice{0%{transform:translateY(7px) rotate(-2deg)}45%{transform:translateY(-5px) rotate(2deg)}100%{transform:none}}@keyframes dd-rosi-nudge{0%,100%{transform:rotate(-1deg)}55%{transform:translate(9px,4px) rotate(3deg)}}@keyframes dd-rosi-follow{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg) translateY(-3px)}}@keyframes dd-rosi-delight{0%{transform:scale(.97)}45%{transform:translateY(-14px) rotate(-3deg) scale(1.05)}100%{transform:none}}@keyframes dd-machine-work{0%,100%{transform:rotate(-2deg)}50%{transform:translateY(-1.5px) rotate(-1.4deg)}}@keyframes dd-roller{to{transform:rotate(360deg)}}@keyframes dd-hopper{from{transform:translateY(-15px)}to{transform:translateY(35px)}}@keyframes dd-scan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes dd-indicator{50%{opacity:.35}}@keyframes dd-bars{to{transform:scaleY(.5)}}@keyframes dd-ticker-in{from{opacity:0;transform:translateY(12px)}to{transform:translateY(0)}}@keyframes dd-scene-enter{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dd-result-arrive{from{opacity:.4;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes dd-spark{from{transform:scale(.2) rotate(-40deg)}to{transform:scale(1) rotate(0)}}
@media(max-width:700px){.dd-test-reveal{padding:max(20px,env(safe-area-inset-top)) 24px max(22px,env(safe-area-inset-bottom));align-items:center}.dd-test-reveal-panel{width:min(440px,100%);height:min(760px,calc(100svh - 48px));grid-template-columns:1fr;grid-template-rows:25px minmax(225px,1fr) 145px 190px;gap:0}.dd-reveal-eyebrow{grid-column:1;grid-row:1;justify-content:center;font-size:9px;margin:0}.dd-reveal-scene{grid-column:1;grid-row:2;align-self:center;aspect-ratio:1.02;width:100%;max-height:340px}.dd-reveal-copy{grid-column:1;grid-row:3;text-align:center;align-self:start;padding:0}.dd-reveal-copy h2{font-size:34px;max-width:100%;min-height:0;line-height:1.08;margin:11px auto 9px;letter-spacing:-.04em}.dd-reveal-copy p{font-size:12px}.dd-reveal-beat{font-size:9px}.dd-reveal-tray{grid-column:1;grid-row:4;width:100%;height:190px;padding:12px 0 8px;align-self:end}.dd-reveal-ticker{height:128px}.dd-reveal-tray-head{font-size:8px}.dd-reveal-tray-foot{font-size:9px;margin-top:5px}.dd-ticker-row{font-size:11px;flex-basis:28px}.dd-reveal-rosi{left:-9%;top:2%;height:78%;width:91%}.dd-reveal-machine{left:39%;top:51%;height:32%;width:54%}.dd-machine-body{border-radius:14px}.dd-machine-brand{font-size:9px}.dd-machine-base{font-size:5.5px;letter-spacing:.05em}.dd-machine-window{gap:6%;padding:4px 6px}.dd-reveal-capsule{left:60%;top:61%;height:11%;gap:8px}.dd-reveal-capsule b{font-size:7px}.dd-reveal-token{width:27px;height:24px;font-size:13px}.dd-reveal-tray-foot>span+span{font-size:12px}}
@media(max-width:700px) and (max-height:700px){.dd-test-reveal{padding:14px 22px}.dd-test-reveal-panel{height:calc(100svh - 28px);grid-template-rows:20px minmax(155px,1fr) 120px 166px}.dd-reveal-scene{max-height:245px;aspect-ratio:1.15}.dd-reveal-copy h2{font-size:28px;margin:8px auto}.dd-reveal-tray{height:166px}.dd-reveal-ticker{height:106px}.dd-ticker-row{flex-basis:26px}.dd-reveal-tray-foot{margin-top:3px}}
@media(min-width:701px) and (max-height:650px){.dd-test-reveal-panel{width:min(930px,100%)}.dd-reveal-copy h2{font-size:35px}.dd-reveal-scene{max-height:440px}.dd-reveal-copy{padding-bottom:14px}}
@media(prefers-reduced-motion:reduce){.dd-test-reveal *,.dd-result-arriving{animation:none!important;transition:none!important}.dd-reveal-signals,.dd-reveal-spark,.dd-test-reveal-confetti{display:none}.dd-reveal-ticker .dd-ticker-row{opacity:1}.dd-test-reveal-panel{transform:none!important}.dd-reveal-machine{transform:none!important}}
