*,:after,:before{box-sizing:border-box;margin:0;padding:0}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%;overflow:hidden}body{font-family:Inter,sans-serif;background:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--dc-splash-bg:#ffffff;--dc-login-bg:#f9f8fc;--dc-white:#ffffff;--dc-primary:#6c2eff;--dc-primary-dark:#5a1fe0;--dc-primary-light:rgba(108,46,255,0.10);--dc-text:#1a1a2e;--dc-text-secondary:#6b7280;--dc-text-muted:#9ca3af;--dc-border:#e5e7eb;--dc-input-bg:#ffffff;--dc-input-border:#d1d5db;--dc-input-focus:#6c2eff;--dc-error:#e53935;--dc-otp-box-bg:#ffffff;--dc-otp-box-border:#d1d5db;--dc-otp-box-active:#6c2eff;--dc-otp-box-filled:#6c2eff}#dcash-app{position:fixed;inset:0;align-items:center;justify-content:center}#dcash-app,.dc-frame{width:100%;height:100%;display:flex;background:var(--dc-splash-bg)}.dc-frame{position:relative;max-width:430px;max-height:100dvh;box-shadow:0 0 60px rgba(108,46,255,.08)}.dc-frame,.dc-screen{overflow:hidden;flex-direction:column}.dc-screen{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(40px);transition:opacity .32s ease,transform .32s ease;display:flex}.dc-screen.active{opacity:1;pointer-events:all;transform:translateX(0)}.dc-splash{position:absolute;inset:0;background:var(--dc-splash-bg);flex-direction:column;z-index:50;overflow:hidden}.dc-splash,.dc-splash-logo-area{display:flex;align-items:center;justify-content:center}.dc-splash-logo-img{width:160px;height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:dc-logo-pop .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes dc-logo-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.dc-loading-overlay{position:absolute;inset:0;background:var(--dc-splash-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:40}.dc-loading-logo{width:130px;height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:dc-logo-pulse 1.8s ease-in-out infinite}@keyframes dc-logo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.94)}}.dc-three-dot-loader{display:flex;align-items:center;gap:8px}.dc-dot{width:9px;height:9px;border-radius:50%;background:var(--dc-primary);animation:dc-bounce 1.2s ease-in-out infinite}.dc-dot-1{animation-delay:0s}.dc-dot-2{animation-delay:.2s}.dc-dot-3{animation-delay:.4s}@keyframes dc-bounce{0%,80%,to{transform:scale(.55);opacity:.35}40%{transform:scale(1.1);opacity:1}}.dc-upgrade-overlay{position:absolute;inset:0;z-index:60;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.dc-upgrade-overlay--visible{opacity:1;pointer-events:all}.dc-upgrade-popup{background:var(--dc-white);width:100%;max-width:430px;border-radius:20px 20px 0 0;padding:0 20px 24px;position:relative;transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1);max-height:65vh;overflow-y:auto}.dc-upgrade-overlay--visible .dc-upgrade-popup{transform:translateY(0)}.dc-upgrade-handle{width:36px;height:4px;background:#e5e7eb;border-radius:2px;margin:10px auto 0}.dc-upgrade-progress-track{height:3px;background:#f0f0f0;border-radius:2px;margin:10px 0 12px;overflow:hidden}.dc-upgrade-progress-bar{height:100%;background:var(--dc-primary);border-radius:2px;transition:width .1s linear}.dc-upgrade-close{position:absolute;top:16px;right:16px;background:#f3f4f6;border:none;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#6b7280;transition:background .15s}.dc-upgrade-close:hover{background:#e5e7eb}.dc-upgrade-icon{width:44px;height:44px;background:var(--dc-primary-light);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:22px}.dc-upgrade-title{font-size:16px;font-weight:800;color:var(--dc-text);text-align:center;margin-bottom:4px;line-height:1.3}.dc-upgrade-body{font-size:12px;color:var(--dc-text-secondary);text-align:center;margin-bottom:12px;line-height:1.5}.dc-upgrade-benefits{list-style:none;margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.dc-upgrade-benefits li{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--dc-text);line-height:1.4;background:#faf8ff;border:1px solid #ede8ff;border-radius:8px;padding:7px 12px}.dc-upgrade-benefit-icon{font-size:16px;flex-shrink:0}.dc-upgrade-cta{width:100%;padding:13px;background:var(--dc-primary);color:#ffffff;border:none;border-radius:12px;font-size:13px;font-weight:700;letter-spacing:.4px;cursor:pointer;transition:background .15s,transform .1s;margin-bottom:10px}.dc-upgrade-cta:hover{background:var(--dc-primary-dark)}.dc-upgrade-cta:active{transform:scale(.98)}.dc-upgrade-support{font-size:12px;color:var(--dc-text-secondary);text-align:center}.dc-upgrade-support-link{background:none;border:none;cursor:pointer;color:var(--dc-primary);font-size:12px;font-weight:600;text-decoration:underline;padding:0}.dc-login-screen{height:100%;background:var(--dc-login-bg);display:flex;flex-direction:column;overflow:hidden}.dc-login-top-space{flex:0 0 72px}.dc-login-header{text-align:center;padding:0 28px 32px}.dc-login-title{font-size:30px;font-weight:800;color:var(--dc-text);margin-bottom:8px;letter-spacing:-.5px}.dc-login-subtitle{font-size:14px;color:var(--dc-text-secondary);line-height:1.5}.dc-login-form{padding:0 24px;gap:16px}.dc-input-group,.dc-login-form{display:flex;flex-direction:column}.dc-input-group{gap:6px}.dc-input-label{font-size:13px;font-weight:600;color:var(--dc-text);letter-spacing:.1px}.dc-input-wrap{position:relative;display:flex;align-items:center}.dc-input{width:100%;height:54px;padding:0 16px;background:var(--dc-input-bg);border:1.5px solid var(--dc-input-border);border-radius:14px;font-size:15px;font-family:inherit;color:var(--dc-text);outline:none;caret-color:var(--dc-primary);transition:border-color .18s,box-shadow .18s}.dc-input::placeholder{color:var(--dc-text-muted)}.dc-input:focus{border-color:var(--dc-primary);box-shadow:0 0 0 3px rgba(108,46,255,.1)}.dc-input--error{border-color:var(--dc-error);box-shadow:0 0 0 3px rgba(229,57,53,.08)}.dc-input--password{padding-right:48px}.dc-eye-btn{position:absolute;right:14px;background:none;border:none;cursor:pointer;color:var(--dc-text-muted);display:flex;align-items:center;padding:4px;transition:color .15s}.dc-eye-btn:hover{color:var(--dc-text-secondary)}.dc-field-error{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--dc-error);margin-top:2px}.dc-login-btn{width:calc(100% - 48px);margin:28px 24px 0;height:56px;flex-shrink:0;background:var(--dc-primary);color:#ffffff;border:none;border-radius:28px;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .18s,transform .1s,box-shadow .18s;box-shadow:0 4px 20px rgba(108,46,255,.3);letter-spacing:.2px}.dc-login-btn:hover{background:var(--dc-primary-dark)}.dc-login-btn:active{transform:scale(.98);box-shadow:none}.dc-otp-screen{height:100%;background:var(--dc-login-bg);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative}.dc-otp-topbar{display:flex;align-items:center;padding:56px 20px 0;flex-shrink:0}.dc-otp-back-btn{background:none;border:none;cursor:pointer;color:var(--dc-text);width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;padding:0;margin-left:-4px}.dc-otp-back-btn:hover{background:rgba(108,46,255,.08)}.dc-otp-content{flex:1 1;padding:20px 24px 0;display:flex;flex-direction:column;overflow:visible}.dc-otp-icon-wrap{width:64px;height:64px;background:var(--dc-primary-light);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.dc-otp-title{font-size:22px;font-weight:800;color:var(--dc-text);margin-bottom:8px;line-height:1.3;letter-spacing:-.3px}.dc-otp-subtitle,.dc-otp-title{text-align:center;flex-shrink:0}.dc-otp-subtitle{font-size:14px;color:var(--dc-text-secondary);line-height:1.6;margin-bottom:28px}.dc-otp-boxes{display:flex;gap:8px;margin-bottom:10px;flex-shrink:0;width:100%}.dc-otp-box{flex:1 1;min-width:0;height:56px;background:var(--dc-otp-box-bg);border:1.8px solid var(--dc-otp-box-border);border-radius:12px;font-size:22px;font-weight:700;color:var(--dc-text);text-align:center;outline:none;caret-color:transparent;transition:border-color .18s,box-shadow .18s;font-family:inherit;padding:0}.dc-otp-box:focus{border-color:var(--dc-otp-box-active);box-shadow:0 0 0 3px rgba(108,46,255,.12)}.dc-otp-box--filled{border-color:var(--dc-otp-box-filled);background:#faf8ff}.dc-otp-box--error{border-color:var(--dc-error);box-shadow:0 0 0 3px rgba(229,57,53,.1)}.dc-otp-error{gap:5px;font-size:12px;color:var(--dc-error);margin:6px 0 2px;min-height:18px}.dc-otp-error,.dc-otp-timer{display:flex;align-items:center;flex-shrink:0;justify-content:center}.dc-otp-timer{gap:6px;font-size:13px;color:var(--dc-text-secondary);margin:14px 0 4px}.dc-otp-timer-value{font-weight:700;color:var(--dc-primary)}.dc-otp-timer-value--urgent{color:var(--dc-error)}.dc-otp-resend-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--dc-primary);font-family:inherit;padding:6px 0;font-weight:600;display:block;margin:4px auto 0;flex-shrink:0;transition:opacity .15s}.dc-otp-resend-btn:disabled{color:var(--dc-text-muted);cursor:default}.dc-otp-attempts{font-size:12px;color:var(--dc-text-muted);text-align:center;margin-top:8px;flex-shrink:0}.dc-otp-attempts--warn{color:var(--dc-error);font-weight:600}.dc-otp-spacer{flex:1 1;min-height:24px}.dc-otp-bottom{padding:0 24px 32px;flex-shrink:0}.dc-verify-btn{width:100%;height:56px;background:#d1d5db;color:#9ca3af;border:none;border-radius:28px;font-size:16px;font-weight:700;font-family:inherit;cursor:not-allowed;transition:background .18s,color .18s,transform .1s,box-shadow .18s;letter-spacing:.2px}.dc-verify-btn--active{background:var(--dc-primary);color:#ffffff;cursor:pointer;box-shadow:0 4px 20px rgba(108,46,255,.3)}.dc-verify-btn--active:hover{background:var(--dc-primary-dark)}.dc-verify-btn--active:active{transform:scale(.98);box-shadow:none}