.passcode-dialog{width:min(86vw,340px);max-width:340px;padding:24px 25px 20px;border:1px solid #e3d9cb;border-radius:24px;background:#faf8f2;color:#442a20;box-shadow:0 18px 50px #3c281c35}
.passcode-dialog::backdrop{background:rgba(53,38,30,.42)}
.passcode-title{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px}
.passcode-title img{width:62px;height:68px;object-fit:contain}
.passcode-title h2{font:inherit;font-size:20px;letter-spacing:.08em;margin:0}
.passcode-dots{height:24px;display:flex;justify-content:center;align-items:center;gap:12px}
.passcode-dot{width:8px;height:8px;border:1px solid #b6a294;border-radius:50%;background:transparent}
.passcode-dot.filled{background:#785848;border-color:#785848}
.passcode-status{height:22px;margin:3px 0 8px;text-align:center;color:#a7735b;font-size:13px}
.passcode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.passcode-grid button{height:46px;border:0;border-radius:14px;background:#f1ece3;color:#53382d;font:22px/1 Arial,sans-serif}
.passcode-grid button:active{background:#e7dbcf}
.passcode-grid .passcode-quiet{background:transparent;color:#927a6b;font-family:inherit;font-size:14px;line-height:1}
#modal .form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #e3dacd;border-radius:10px;background:#f7f3eb;color:#442a20;font:inherit}
#modal .form select[hidden],#modal .form input[hidden]{display:none}
.tracks-lock{position:relative;min-height:240px;display:grid;place-items:center;margin-top:10px}
.tracks-lock[hidden],.tracks-private-content[hidden]{display:none!important}
.tracks-ghost{position:absolute;inset:14px 0;filter:blur(6px);opacity:.4;pointer-events:none}
.tracks-ghost span{display:block;height:43px;margin:14px 0;border-radius:12px;background:#e8dfd3}
.tracks-lock button.tracks-unlock.liquid-button{position:relative;top:24px;justify-self:center;max-width:95%;min-height:52px;padding:13px 20px;border-radius:28px;background:rgba(250,247,239,.32);color:#5b4032;font:inherit;font-size:17px;line-height:1.35;letter-spacing:.02em}
.slide-back-out{animation:slide-back-out .22s ease-in forwards!important}
@keyframes slide-back-out{to{transform:translateX(-100%);opacity:.8}}
@media(prefers-reduced-motion:reduce){.slide-back-out{animation:none!important}}
