/* Wipe-to-reveal: a quiet, full-width work surface in the existing red/black palette. */
.clean-reveal{background:#050506;padding:96px clamp(20px,5vw,88px) 72px;border-top:1px solid #28282b;scroll-margin-top:90px}
.clean-intro{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:end;gap:32px}
.clean-intro .eyebrow{color:#ff7079;margin-bottom:22px}
.clean-intro h2{font-family:Barlow,Impact,sans-serif;font-size:clamp(46px,6.6vw,94px);line-height:.95;letter-spacing:-.025em;margin:0;font-weight:800}
.clean-intro h2 em{font-style:normal;color:#ff5664}
.clean-instructions{max-width:270px;color:#b9b9c3;font-size:15px;line-height:1.65;margin:0 0 4px}
.clean-stage{position:relative;max-width:1280px;margin:28px auto 0;background:#000;aspect-ratio:16/9;overflow:hidden;isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.clean-stage>img,.clean-stage>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;pointer-events:none}
.clean-stage>canvas{z-index:2;opacity:0;transition:opacity 450ms ease}
.clean-stage.is-ready>canvas{opacity:1}.clean-stage.is-complete>canvas{opacity:0}
.clean-stage.is-touch-active{touch-action:none}.clean-stage.is-touch-active,.clean-stage.is-ready{cursor:crosshair}
.clean-image{z-index:0}.dirty-image{z-index:1}.clean-stage.is-ready>.dirty-image{visibility:hidden}.clean-stage.is-complete>.dirty-image{visibility:hidden}
.clean-cursor{position:absolute;left:0;top:0;width:var(--brush-size,100px);height:var(--brush-size,100px);border:1px solid #fff9;border-radius:50%;box-shadow:0 0 0 6px #ffffff07,inset 0 0 22px #ffffff0b;z-index:4;opacity:0;pointer-events:none;transition:opacity 120ms ease;will-change:transform}
.clean-cursor:before,.clean-cursor:after{content:"";position:absolute;background:#fff9;top:50%;left:50%;width:12px;height:1px;transform:translate(-50%,-50%)}.clean-cursor:after{transform:translate(-50%,-50%) rotate(90deg)}
.clean-stage.is-pointing:not(.is-complete) .clean-cursor{opacity:1}
.clean-state{position:absolute;top:20px;left:22px;z-index:5;display:flex;align-items:center;gap:9px;font:600 10px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;color:#e9e9ee}
.clean-state:before{content:"";width:6px;height:6px;border-radius:50%;background:#f65363;box-shadow:0 0 12px #f6536355}.is-complete .clean-state:before{background:#e9e9ee;box-shadow:0 0 12px #ffffff55}
.clean-touch{display:none;position:absolute;z-index:6;bottom:14px;left:50%;transform:translateX(-50%);border:1px solid #ffffff50;border-radius:3px;padding:12px 18px;background:#18181dea;color:white;font:600 13px Manrope,sans-serif;white-space:nowrap;min-height:44px;cursor:pointer}
.clean-controls{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid #29292e;border-bottom:1px solid #29292e}
.clean-meter-wrap{display:flex;align-items:center;gap:18px;flex:1;max-width:440px}.clean-meter{appearance:none;-webkit-appearance:none;width:clamp(90px,18vw,250px);height:3px;border:0;background:#2e2e34;display:block}.clean-meter::-webkit-progress-bar{background:#2e2e34}.clean-meter::-webkit-progress-value{background:#f34c5c;transition:width 120ms}.clean-meter::-moz-progress-bar{background:#f34c5c}
.clean-amount{font:600 11px Manrope,sans-serif;letter-spacing:.04em;color:#c8c8cf;white-space:nowrap;font-variant-numeric:tabular-nums}.clean-buttons{display:flex;gap:20px;align-items:center}.clean-buttons button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font:600 12px Manrope,sans-serif;padding:8px 0;color:#ededf1;background:none;border:0;cursor:pointer}.clean-buttons button:last-child{color:#ff7c87}.clean-buttons svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.clean-buttons button:disabled{opacity:.38;cursor:default}
.clean-footer{max-width:1280px;margin:18px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.clean-footer>span{font-size:11px;color:#858590}.clean-footer button{font:600 12px Manrope,sans-serif;color:#e5e5ec;min-height:44px;border:0;border-bottom:1px solid #e5e5ec55;background:none;cursor:pointer}.clean-reveal button:focus-visible{outline:2px solid #ff737f;outline-offset:5px}.clean-status{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover) and (pointer:fine){.clean-stage.is-ready{cursor:none}.clean-buttons button:hover,.clean-footer button:hover{color:white}.clean-stage.is-complete{cursor:default}}
@media(hover:none),(pointer:coarse){.clean-touch:not([hidden]){display:block}.clean-cursor{display:none}}
@media(max-width:700px){.clean-reveal{padding:60px 20px 42px}.clean-intro{display:block}.clean-intro .eyebrow{font-size:9px;margin-bottom:18px}.clean-intro h2{font-size:clamp(46px,11vw,72px)}.clean-instructions{font-size:13px;max-width:100%;margin:20px 0 0}.clean-stage{margin:25px -20px 0;max-width:none;aspect-ratio:16/10}.clean-stage>img,.clean-stage>canvas{height:90%;top:0}.clean-touch{bottom:4px;padding:8px 15px;font-size:11px;min-height:38px}.clean-state{top:10px;left:14px;font-size:8px;gap:6px}.clean-controls{flex-wrap:wrap;gap:14px;padding:18px 0}.clean-meter-wrap{max-width:none;justify-content:space-between;flex-basis:100%}.clean-meter{width:calc(100% - 118px)}.clean-buttons{width:100%;justify-content:space-between;gap:12px}.clean-buttons button{font-size:12px}.clean-footer{align-items:start;gap:14px}.clean-footer>span{max-width:155px;font-size:10px;line-height:1.7}.clean-footer button{font-size:11px;white-space:nowrap;min-height:38px}}
@media(prefers-reduced-motion:reduce){.clean-stage>canvas,.clean-cursor{transition:none}.clean-meter::-webkit-progress-value{transition:none}}
