.wash-launch{position:absolute;z-index:3;top:25px;left:25px;display:flex;align-items:center;gap:12px;padding:8px 17px 8px 6px;background:#f5ffedee;border:1px solid #ffffffa6;border-radius:13px;box-shadow:0 8px 35px #173f3526;color:var(--ink);text-align:left;backdrop-filter:blur(14px);transition:transform .2s,background .2s}.wash-launch:hover{background:#eaffb8;transform:translateY(-3px)}.wash-launch b{display:block;font-size:18px;line-height:1.35}.wash-launch small{display:block;font-size:12px;margin-top:4px;color:#50654c}.wash-launch-arrow{font-size:26px;margin-left:8px}.wash-launch-mascot{display:block;width:64px;height:70px;flex-shrink:0;background-image:url('/assets/elite-sprites-white.webp');background-size:200% 200%;background-position:100% 100%;background-repeat:no-repeat}.wash-dialog{width:min(1000px,calc((100dvh - 270px)*1.3333),calc(100vw - 24px));max-width:none;max-height:96dvh;border-radius:18px;padding:0;background:#113329;color:#f4f9e9;overflow:auto;box-shadow:0 28px 100px #03191299}.wash-dialog::backdrop{background:#071d17cf;backdrop-filter:blur(12px)}.wash-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px}.wash-heading .eyebrow{font-size:10px;letter-spacing:.14em;color:var(--lime);margin:0}.wash-heading h2{font-size:26px;line-height:1.2;letter-spacing:-.04em;margin:5px 0 0}.wash-heading button{border:1px solid #75936e;background:#ffffff0d;border-radius:50%;width:42px;height:42px;flex-shrink:0;color:white;font-size:29px;line-height:1}.wash-heading button:hover{background:#ffffff24}.wash-stage{position:relative;aspect-ratio:4/3;background:#163d30;isolation:isolate;overflow:hidden}.wash-stage canvas{display:block;width:100%;height:100%;aspect-ratio:4/3}.wash-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;flex-direction:column;background:#143b30;font-size:16px;padding:30px;text-align:center}.wash-loading button{border:1px solid #d5eabe;background:var(--lime);color:var(--ink);border-radius:5px;padding:12px 20px}.wash-scene-label{position:absolute;top:18px;left:20px;color:#153b30;background:#f6ffede8;backdrop-filter:blur(10px);padding:8px 11px;border-radius:5px;letter-spacing:.085em;font-size:10px;font-weight:800;pointer-events:none}.wash-scene-label span{margin-left:8px;color:#4f6847;font-weight:500}.wash-meter{height:5px;background:#54724e}.wash-meter progress{display:block;width:100%;height:5px;border:0;appearance:none;background:#54724e;color:var(--lime)}.wash-meter progress::-webkit-progress-bar{background:#54724e}.wash-meter progress::-webkit-progress-value{background:var(--lime);transition:width .18s}.wash-meter progress::-moz-progress-bar{background:var(--lime)}.wash-bottom{padding:15px 24px 16px}.wash-status-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.wash-status-row p{font-size:15px;line-height:1.4;font-weight:600;letter-spacing:-.01em;color:#f0f6e4}.wash-status-row output{font-size:20px;line-height:1.2;letter-spacing:-.04em;font-weight:700;color:var(--lime);font-variant-numeric:tabular-nums}.wash-controls{display:flex;align-items:center;gap:17px;margin-top:14px;flex-wrap:wrap}.wash-controls .button{width:auto;min-height:45px;padding:11px 24px;font-size:14px;min-width:122px}.wash-controls>button:not(.button){color:#d4e8c7;background:none;border:0;font-size:13px;padding:9px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}.wash-controls>button[aria-pressed=true]{color:var(--lime)}.wash-controls button:disabled{opacity:.5;cursor:default}.wash-controls a{display:none;margin-left:auto;color:var(--lime);font-size:14px;font-weight:600;text-decoration:none;gap:12px;align-items:center}.wash-controls a>span{font-size:22px}.is-finished .wash-controls a{display:flex}.wash-disclaimer{margin:11px 0 0;font-size:11px!important;color:#b1c4a6!important;line-height:1.5!important}.wash-dialog a:focus-visible,.wash-dialog button:focus-visible{outline-color:var(--lime)}
@media(max-width:960px){.wash-launch{top:19px;left:19px;gap:6px;padding-right:12px}.wash-launch b{font-size:16px}.wash-launch small{font-size:11px}.wash-launch-mascot{width:52px;height:57px}.wash-launch-arrow{font-size:23px;margin-left:5px}}
@media(max-width:700px){.wash-launch{top:18px;left:18px}.wash-launch small{font-size:12px}.wash-launch b{font-size:17px}.wash-launch-mascot{width:57px;height:63px}.wash-dialog{width:calc(100vw - 20px);max-height:94dvh;border-radius:14px}.wash-heading{padding:16px 18px;gap:12px}.wash-heading .eyebrow{font-size:10px}.wash-heading h2{font-size:22px}.wash-heading button{width:38px;height:38px}.wash-bottom{padding:16px 18px}.wash-status-row p{font-size:14px;max-width:250px}.wash-status-row output{font-size:20px}.wash-controls{gap:16px;margin-top:15px}.wash-controls .button{font-size:14px;padding:12px 18px;min-width:117px}.wash-controls>button:not(.button){font-size:12px}.wash-controls a{width:100%;margin-left:0;margin-top:0;font-size:14px}.wash-disclaimer{font-size:11px!important;margin-top:11px}.wash-scene-label{top:10px;left:12px;font-size:8px;padding:6px 8px;letter-spacing:.04em}.wash-scene-label span{margin-left:5px}}
@media(prefers-reduced-motion:reduce){.wash-launch,.wash-meter progress::-webkit-progress-value{transition:none}.wash-dialog::backdrop{backdrop-filter:none}}

/* Match the site-wide Lakeland Elite blue / black identity. */
.wash-launch{background:#f7fbffee;border-color:#fff;box-shadow:0 8px 35px #00152533;color:#05070a}
.wash-launch:hover{background:#dff5ff}
.wash-launch small{color:#536474}
.wash-dialog{background:#05070a;color:#f4f8fc;box-shadow:0 28px 100px #000b}
.wash-dialog::backdrop{background:#02060bd9}
.wash-heading .eyebrow{color:var(--yellow)}
.wash-heading button{border-color:#405160}
.wash-stage,.wash-loading{background:#0b1722}
.wash-scene-label{color:#07121b;background:#f6fbffe8;border-left:3px solid var(--yellow)}
.wash-scene-label span{color:#3c6682}
.wash-meter,.wash-meter progress,.wash-meter progress::-webkit-progress-bar{background:#253746}
.wash-meter progress,.wash-meter progress::-webkit-progress-value,.wash-meter progress::-moz-progress-bar{color:var(--blue);background:var(--blue)}
.wash-status-row p{color:#f3f8fc}
.wash-status-row output,.wash-controls a{color:var(--blue)}
.wash-controls>button:not(.button){color:#c0d0dd}
.wash-controls>button[aria-pressed=true]{color:var(--yellow)}
.wash-disclaimer{color:#9babb8!important}
.wash-dialog a:focus-visible,.wash-dialog button:focus-visible{outline-color:var(--blue)}
