/* Onboarding decoration only. Final masks expose the unchanged real map beneath the modal. */
.ubcf .ubcf-entry.ubcf-entry-painted {
    background-image:none!important;
    background-color:var(--ubcf-entry-backing,#303c96);
}
.ubcf .ubcf-entry-painted .ubcf-entry-background { visibility:hidden; }
.ubcf .ubcf-entry-painted .ubcf-entry-card { transition:none; }
.ubcf .ubcf-entry-painted .ubcf-entry-transition p { animation:none; opacity:0; }
.ubcf .ubcf-entry-painted .ubcf-entry-transition { color:#29415c; }
.ubcf .ubcf-entry-painted[data-entry-step="4"] .ubcf-entry-transition { color:#6f8296; }
.ubcf .ubcf-paint-host {
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
    isolation:isolate;
    background:var(--ubcf-entry-backing,#303c96);
}
.ubcf .ubcf-paint-scene,.ubcf .ubcf-paint-field { position:absolute; inset:0; }
.ubcf .ubcf-paint-scene { z-index:1; overflow:hidden; }
.ubcf .ubcf-paint-scene[data-scene="indigo"] .ubcf-paint-field {
    background:linear-gradient(180deg,#303c96 0%,#273384 55%,#1e2a72 100%);
}
.ubcf .ubcf-paint-scene[data-scene="sky"] .ubcf-paint-field {
    background:linear-gradient(180deg,#d9ebf5 0%,#cfe4f0 55%,#c4ddec 100%);
}
.ubcf .ubcf-paint-scene[data-scene="glacier"] .ubcf-paint-field {
    background:linear-gradient(180deg,#f2f8fb 0%,#e9f2f8 60%,#e0edf5 100%);
}
.ubcf .ubcf-paint-region { position:absolute; pointer-events:none; }
.ubcf .ubcf-paint-region.r-full { inset:0; }
.ubcf .ubcf-paint-region.r-top { left:0; right:0; top:0; height:19%; }
.ubcf .ubcf-paint-region.r-bot { left:0; right:0; top:50%; bottom:0; }
.ubcf .ubcf-paint-region.r-glacier { left:0; right:0; top:38%; bottom:0; }
.ubcf .ubcf-paint-wrap { position:absolute; inset:-2%; }
.ubcf .ubcf-paint-stroke {
    position:absolute;
    inset:0;
    background-size:100% 100%;
    background-repeat:no-repeat;
    opacity:0;
}
.ubcf .ubcf-paint-stroke,.ubcf .ubcf-paint-field {
    -webkit-mask-size:300% 100%;
    mask-size:300% 100%;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:100% 0%;
    mask-position:100% 0%;
}
.ubcf .ubcf-paint-swash {
    position:absolute;
    top:0;
    right:0;
    width:62%;
    height:58%;
    background-size:100% 100%;
    opacity:0;
}
.ubcf .ubcf-paint-host .scribble { position:absolute; pointer-events:none; overflow:visible; }
.ubcf .ubcf-paint-host .scribble.tr { top:6%; right:3%; width:44%; height:44%; }
.ubcf .ubcf-paint-host .scribble.bl { left:2%; bottom:4%; width:30%; height:30%; }
.ubcf .ubcf-paint-host .scribble path { fill:none; stroke:#fff; stroke-linecap:round; opacity:.8; }
.ubcf .ubcf-paint-grain {
    position:absolute;
    inset:0;
    z-index:3;
    opacity:.55;
    mix-blend-mode:multiply;
    background-repeat:repeat;
    pointer-events:none;
}
/* Only the final exit exposes the real map. Surface stays modal until cleanup. */
.ubcf .ubcf-entry.ubcf-entry-painted.ubcf-entry-handoff {
    background-color:transparent;
}
.ubcf .ubcf-entry-handoff .ubcf-paint-host {
    background:transparent;
}
.ubcf .ubcf-entry.ubcf-entry-handoff::backdrop {
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}

/* EntryView advances the backing with the dominant painted scene, including decode delays. */
.ubcf .ubcf-entry.ubcf-entry-painted.ubcf-entry-handoff { background-color:transparent; }
