:root{--ui-purple:#7144c4;--ui-purple-dark:#59329e;--ui-ink:#211b35;--ui-muted:#716a82;--ui-border:#e8e2f0}
.password-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.password-tools button{display:inline-flex;align-items:center;gap:6px;border:1px solid #e4daf4;background:#f5f0fc;color:#664096;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:600;line-height:1.5}
.password-tools button:hover{background:#ece2fa}
.password-generator-status{font-size:12px;color:#716a82;margin-top:8px;line-height:1.6}
.password-generator-status:empty{display:none}
body #password-strength-status{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;font-weight:500;line-height:1.5}
body #password-strength-status:empty{display:none}
body #password-strength-status svg{width:17px;height:17px;flex:none}
body #password-strength-status[data-strength="weak"]{color:#b94056}
body #password-strength-status[data-strength="medium"]{color:#9c691b}
body #password-strength-status[data-strength="strong"]{color:#26805b}
body :is(.btn,.form-button button,.wallet-form button,.account-title button,.modal-footer button,.skp-product-buy,.skp-section-heading>a,.skp-mini-banner>a,.store-auth-main .user-form-remind a){border-radius:12px;transition:background .18s,box-shadow .18s,transform .18s}
body :is(.btn,.form-button button,.wallet-form button,.account-title button,.modal-footer button):not(:disabled):hover{box-shadow:0 5px 14px #45257418;transform:translateY(-1px)}
body :is(button,.btn,a,input,select,textarea):focus-visible{outline:3px solid #b69ae8;outline-offset:3px}
body :is(button,.btn):not(:disabled):active{transform:translateY(1px)}
body button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
body :is(.btn-buy,.btn-inline,.btn-outline,.skp-section-heading>a,.store-catalog-toolbar button,.store-catalog-reset,.header-search button){border-radius:12px}
body :is(.btn-buy,.btn-inline):not(:disabled){background:var(--ui-purple);color:#fff;border-color:var(--ui-purple)}
body :is(.btn-buy,.btn-inline):not(:disabled):hover{background:var(--ui-purple-dark);border-color:var(--ui-purple-dark)}
body .form-button button,body .wallet-form button{background:var(--ui-purple);color:#fff;min-height:48px;padding:12px 24px;font-weight:600;text-transform:none;letter-spacing:0}
body .form-button button:hover,body .wallet-form button:hover{background:var(--ui-purple-dark)}
body .profile-part .my-wallet{position:relative;min-height:126px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:25px 28px;margin:0 0 22px;border-radius:18px;background:#7144c4;box-shadow:0 8px 24px #7144c41a;overflow:hidden}
body .profile-part .my-wallet:after{content:"";position:absolute;right:-35px;top:-75px;width:230px;height:230px;border:30px solid #ffffff0c;border-radius:50%;pointer-events:none}
body .profile-part .my-wallet p{position:relative;margin:0;color:#eee5ff;font-size:14px;font-weight:500;line-height:1.5}
body .profile-part .my-wallet h3{position:relative;margin:0;color:#fff!important;font-size:clamp(30px,4vw,42px);line-height:1.15;letter-spacing:-1px;font-weight:700;font-variant-numeric:tabular-nums}
body .profile-part .wallet-card-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
body .profile-part .wallet-card{background:#f7f5fb;padding:22px 24px;border-radius:14px}
body .profile-part .wallet-card p{color:var(--ui-muted);font-size:13px;margin-bottom:10px}
body .profile-part .wallet-card h3{color:var(--ui-ink);font-size:26px;font-variant-numeric:tabular-nums;margin:0}
body .profile-part .wallet-card:hover{background:#f0eaf9}
body .profile-part .wallet-card:hover p{color:var(--ui-muted)}
body .profile-part .wallet-card:hover h3{color:var(--ui-ink)}
body .store-auth-page{padding:56px 16px 72px;background:#f8f6fc}
body .store-auth-shell{max-width:500px;margin:auto;display:block}
body .store-auth-main{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
body .store-auth-main .user-form-card{padding:36px 38px;background:#fff;border:1px solid var(--ui-border);border-radius:24px;box-shadow:0 16px 48px #3a21560a}
body .store-auth-main .user-form-title{text-align:left;margin-bottom:28px}
body .store-auth-kicker{display:inline-block;color:var(--ui-purple);background:#f1ebfb;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:600;letter-spacing:.7px;margin-bottom:14px}
body .store-auth-main .user-form-title h2{color:var(--ui-ink);font-size:30px;letter-spacing:-.7px;text-transform:none;margin-bottom:10px}
body .store-auth-main .user-form-title p{font-size:14px;color:var(--ui-muted);line-height:1.65}
body .store-auth-main .user-form-group{display:block;margin:0}
body .store-auth-main .form-group{margin-bottom:19px}
body .store-auth-main .form-group label{display:block;color:var(--ui-ink);font-size:13px;font-weight:600;margin-bottom:8px}
body .store-auth-main .user-form .form-control{height:50px;border:1px solid var(--ui-border);border-radius:12px;background:#faf9fc;padding:12px 15px;color:var(--ui-ink);font-size:14px}
body .store-auth-main .user-form .form-control:focus{background:#fff;border-color:#a481d9;box-shadow:0 0 0 4px #7144c40a}
body .store-auth-main .store-auth-kicker{display:inline-block}
body .store-auth-footnote{display:block}
body .store-auth-main .form-button{margin-top:24px}
body .store-auth-main .form-button button{width:100%;border-radius:14px;height:auto;line-height:1.5;min-height:50px}
body .store-auth-main .form-button p{margin:16px 0 0;font-size:13px;text-align:center}
body .store-auth-main .user-form-remind{margin:20px 0 0;padding:0;background:transparent;border:0;font-size:14px;text-align:center}
body .store-auth-main .user-form-remind a,body .store-auth-main .form-button a{color:var(--ui-purple);font-weight:600}
body .store-auth-footnote{color:var(--ui-muted);font-size:12px;line-height:1.6;text-align:center;margin:22px 12px 0}
body .agree-terms-row{align-items:center;gap:10px}
body #agree-terms{width:18px;height:18px;min-width:18px;accent-color:var(--ui-purple);cursor:pointer}
body .agree-terms-copy .agree-terms-label{display:inline;font-weight:400;margin:0}
body .policy-open-link{color:var(--ui-purple);text-decoration:underline;text-underline-offset:3px}
body .policy-modal-dialog{border-radius:24px;overflow:hidden;box-shadow:0 24px 90px #211b3533}
body .policy-modal-actions button,body .policy-modal-close{border-radius:12px}
body #btn-policy-accept{background:var(--ui-purple);color:#fff;padding:12px 20px}
body .swal2-popup{border-radius:24px!important;padding:28px!important;box-shadow:0 24px 90px #211b3526!important;font-family:inherit!important;border:1px solid var(--ui-border)}
body .swal2-title{color:var(--ui-ink)!important;font-size:23px!important;line-height:1.4!important;padding-top:14px!important}
body .swal2-html-container{color:var(--ui-muted)!important;font-size:14px!important;line-height:1.75!important}
body .swal2-actions{gap:10px;margin-top:24px!important}
body .swal2-styled{border-radius:12px!important;padding:12px 24px!important;font-size:14px!important;font-weight:600!important;min-height:46px;box-shadow:none!important}
body .swal2-confirm{background:var(--ui-purple)!important}
body .swal2-cancel{background:#f0ecf6!important;color:#514462!important}
body .swal2-deny{background:#b73952!important}
body .swal2-close{border-radius:10px;color:var(--ui-muted)!important}
body .swal2-input{border:1px solid var(--ui-border)!important;border-radius:12px!important;font-size:15px!important;box-shadow:none!important}
body .swal2-timer-progress-bar{background:#b69ae8}
body .swal2-toast{border-radius:16px!important;padding:14px 18px!important}
body .modal-content{border-radius:22px;border:1px solid var(--ui-border);overflow:hidden}
body .modal-header,body .modal-footer{border-color:var(--ui-border);padding:20px 24px}
body .notify{border-radius:16px;box-shadow:0 10px 35px #211b3515}
@media(max-width:575px){body .store-auth-page{padding:28px 0 42px}body .store-auth-main .user-form-card{padding:28px 22px;border-radius:20px}body .profile-part .my-wallet{padding:22px;min-height:120px}body .profile-part .wallet-card-group{grid-template-columns:1fr;gap:10px}body .profile-part .wallet-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}body .profile-part .wallet-card p{margin:0}body .profile-part .wallet-card h3{font-size:23px}body .swal2-popup{padding:22px!important}body .policy-modal-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){body :is(button,.btn,a){transition:none!important;transform:none!important}}
/* Compact dialogs and independent, text-only toast notifications. */
body .swal2-popup.nx-alert{padding:28px!important;border-radius:20px!important;text-align:left}
body .nx-alert .swal2-icon{width:46px!important;height:46px!important;border:0!important;border-radius:14px!important;margin:0 0 18px!important;background:#f4effb;color:#7144c4}
body .nx-alert .swal2-icon.swal2-error{background:#fff0f2;color:#d15c71}
body .nx-alert .swal2-icon.swal2-success{background:#edf8f2;color:#399273}
body .nx-alert .swal2-icon.swal2-warning{background:#fff6e8;color:#ba8837}
body .nx-alert .swal2-icon-content{font-size:inherit!important;display:grid!important;place-items:center;width:100%;height:100%}
body .nx-alert .swal2-icon svg{width:24px;height:24px}
body .nx-alert .swal2-title{font-size:19px!important;letter-spacing:-.4px;line-height:1.45!important;text-align:left!important;padding:0!important;margin:0 0 10px!important}
body .nx-alert .swal2-content,body .nx-alert .swal2-html-container{font-size:13px!important;line-height:1.8!important;text-align:left!important;padding:0!important;margin:0!important;color:#84788f!important;overflow-wrap:anywhere}
body .nx-alert .swal2-actions{width:100%;justify-content:flex-end;margin-top:24px!important}
body .nx-alert .swal2-styled{min-height:42px;padding:10px 22px!important;border-radius:10px!important;font-size:12px!important;margin:0!important}
body .nx-alert .swal2-close{position:absolute;top:12px;right:12px;width:36px;height:36px;font-size:26px}
.nx-toast-stack{position:fixed;z-index:1100;top:20px;right:20px;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.nx-toast{--toast-color:#7144c4;--toast-soft:#f2ecfa;display:grid;grid-template-columns:34px minmax(0,1fr) 26px;align-items:center;gap:12px;position:relative;overflow:hidden;background:#fff;border:1px solid #ece6f2;border-radius:14px;box-shadow:0 8px 32px #30204114;padding:15px 12px 16px 15px;pointer-events:auto;animation:nx-toast-in .22s ease-out;font-family:inherit}
.nx-toast--success{--toast-color:#388a6f;--toast-soft:#edf7f2}
.nx-toast--error{--toast-color:#c6516a;--toast-soft:#fff0f3}
.nx-toast--warning{--toast-color:#b2853d;--toast-soft:#fff6e7}
.nx-toast-icon{width:34px;height:34px;display:grid;place-items:center;background:var(--toast-soft);color:var(--toast-color);border-radius:10px}
.nx-toast-icon svg{width:19px;height:19px}
body .nx-toast-message{margin:0;color:#51465e;font-size:12px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}
body .nx-toast-close{display:grid;place-items:center;width:28px;height:30px;border:0;border-radius:8px;padding:5px;color:#a497b1;background:transparent;cursor:pointer;box-shadow:none;transform:none}
body .nx-toast-close:hover{background:#f7f3fb;color:#7144c4;transform:none;box-shadow:none}
.nx-toast-close svg{width:16px;height:16px}
.nx-toast-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--toast-color);opacity:.35;transform-origin:left;animation:nx-toast-life linear forwards}
.nx-toast-leaving{opacity:0;transform:translateX(12px);transition:opacity .18s,transform .18s}
@keyframes nx-toast-life{to{transform:scaleX(0)}}
@keyframes nx-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:575px){.nx-toast-stack{top:12px;right:12px;width:calc(100vw - 24px)}body .swal2-popup.nx-alert{padding:24px!important}.nx-toast{padding:13px 10px 14px 13px}}
@media(prefers-reduced-motion:reduce){.nx-toast{animation:none}.nx-toast-progress{animation:nx-toast-life linear forwards}.nx-toast-leaving{transition:none;transform:none}}
body.modal-open .nx-toast-stack{top:auto;bottom:20px}
@media(max-width:575px){body.modal-open .nx-toast-stack{bottom:12px}}
body .nx-alert .swal2-header{align-items:flex-start;padding:0}
body .nx-alert .swal2-title{width:100%}
