/* © 2025-2026 Hamsat Quran - All Rights Reserved */
#auth-gate{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100000;background:#0d1b2a;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s,transform .5s}#auth-gate.hidden{opacity:0;pointer-events:none;transform:scale(1.05)}.auth-bg-pattern{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;pointer-events:none}.auth-bg-pattern::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(212,175,55,.08) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(212,175,55,.05) 0,transparent 40%);animation:authBgShift 20s ease-in-out infinite alternate}@keyframes authBgShift{0%{transform:translate(0,0)}100%{transform:translate(-5%,3%)}}.auth-geometric{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.03;background-image:repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(212,175,55,.3) 40px,rgba(212,175,55,.3) 41px),repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(212,175,55,.3) 40px,rgba(212,175,55,.3) 41px)}.auth-container{position:relative;z-index:2;width:100%;max-width:420px;padding:30px 25px;overflow-y:auto;max-height:100vh;-webkit-overflow-scrolling:touch}.auth-logo{text-align:center;margin-bottom:30px;animation:authLogoIn 1s ease-out}@keyframes authLogoIn{from{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-logo img{width:100px;height:100px;border-radius:24px;box-shadow:0 8px 32px rgba(212,175,55,.3);margin-bottom:16px}.auth-logo h1{font-family:Amiri,serif;font-size:32px;color:#d4af37;margin-bottom:6px}.auth-logo p{font-size:14px;color:rgba(255,255,255,.5)}.auth-card{background:rgba(255,255,255,.04);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,.15);border-radius:24px;padding:32px 24px;animation:authCardIn .8s ease-out .2s both}@keyframes authCardIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-card-title{font-size:22px;font-weight:800;color:#fff;text-align:center;margin-bottom:24px}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:6px}.auth-input{width:100%;padding:14px 16px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.1);border-radius:14px;color:#fff;font-size:15px;font-family:Tajawal,sans-serif;transition:all .3s;outline:0;direction:ltr;text-align:left}.auth-input.auth-input-rtl{direction:rtl;text-align:right}.auth-input::placeholder{color:rgba(255,255,255,.25)}.auth-input:focus{border-color:#d4af37;background:rgba(212,175,55,.06);box-shadow:0 0 0 4px rgba(212,175,55,.1)}.auth-select{width:100%;padding:14px 16px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.1);border-radius:14px;color:#fff;font-size:15px;font-family:Tajawal,sans-serif;outline:0;appearance:none;cursor:pointer}.auth-select option{background:#1b2838;color:#fff}.auth-select:focus{border-color:#d4af37}.auth-btn-primary{width:100%;padding:16px;background:linear-gradient(135deg,#d4af37,#b8941e);border:none;border-radius:14px;color:#0d1b2a;font-size:16px;font-weight:800;font-family:Tajawal,sans-serif;cursor:pointer;transition:all .3s;margin-top:8px}.auth-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,.4)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-btn-primary .spinner{display:inline-block;width:18px;height:18px;border:3px solid rgba(13,27,42,.3);border-top-color:#0d1b2a;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-left:8px}@keyframes spin{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;margin:20px 0;gap:12px}.auth-divider::after,.auth-divider::before{content:'';flex:1;height:1px;background:rgba(255,255,255,.1)}.auth-divider span{font-size:12px;color:rgba(255,255,255,.35);white-space:nowrap}.auth-btn-social{width:100%;padding:14px;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.1);border-radius:14px;color:#fff;font-size:15px;font-weight:600;font-family:Tajawal,sans-serif;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.auth-btn-social:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.auth-toggle{text-align:center;margin-top:20px;font-size:14px;color:rgba(255,255,255,.5)}.auth-toggle a{color:#d4af37;text-decoration:none;font-weight:700;cursor:pointer}.auth-forgot{text-align:left;margin-top:-8px;margin-bottom:16px}.auth-forgot a{font-size:13px;color:rgba(255,255,255,.4);text-decoration:none;cursor:pointer}.auth-forgot a:hover{color:#d4af37}.auth-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:12px 16px;color:#ef4444;font-size:13px;margin-bottom:16px;display:none;text-align:center;animation:shakeError .4s}@keyframes shakeError{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.auth-error.show{display:block}.auth-view{display:none}.auth-view.active{display:block}.profile-header{text-align:center;padding:20px 0 10px}.profile-avatar-wrap{position:relative;display:inline-block;margin-bottom:12px}.profile-avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#8b7520);display:flex;align-items:center;justify-content:center;font-size:38px;color:#fff;font-weight:800;font-family:Amiri,serif;border:3px solid rgba(212,175,55,.3);box-shadow:0 4px 20px rgba(212,175,55,.2);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-edit{position:absolute;bottom:2px;right:2px;width:28px;height:28px;background:#d4af37;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:2px solid #0d1b2a}.profile-name{font-size:22px;font-weight:800;color:var(--navy-dark);margin-bottom:4px}.profile-username{font-size:13px;color:var(--text-muted,#888);margin-bottom:6px;direction:ltr}.profile-bio{font-size:14px;color:var(--text-secondary,#555);max-width:280px;margin:0 auto 16px;line-height:1.6}.profile-stats-bar{display:flex;justify-content:center;padding:16px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);margin:0 -10px 12px}.profile-stat{flex:1;text-align:center;cursor:pointer;padding:4px 0}.profile-stat:not(:last-child){border-left:1px solid rgba(0,0,0,.06)}.profile-stat-num{font-size:20px;font-weight:800;color:var(--navy-dark)}.profile-stat-label{font-size:11px;color:var(--text-muted,#888);margin-top:2px}.profile-actions{display:flex;gap:8px;padding:0 10px 16px}.profile-btn-edit{flex:1;padding:10px;background:rgba(212,175,55,.1);border:2px solid #d4af37;border-radius:12px;color:#d4af37;font-size:14px;font-weight:700;font-family:Tajawal,sans-serif;cursor:pointer;transition:all .3s}.profile-btn-edit:hover{background:#d4af37;color:#0d1b2a}.profile-btn-share{width:44px;padding:10px;background:rgba(212,175,55,.1);border:2px solid #d4af37;border-radius:12px;color:#d4af37;font-size:16px;cursor:pointer}.profile-grid-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.06);margin:0 -10px}.profile-grid-tab{flex:1;text-align:center;padding:12px 0;font-size:22px;cursor:pointer;border:none;border-bottom:2px solid transparent;background:0 0;opacity:.4;transition:all .3s}.profile-grid-tab.active{border-bottom-color:var(--navy-dark);opacity:1}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:3px -10px 0}.profile-grid-item{aspect-ratio:1;background:linear-gradient(135deg,#f8f4eb,#ebe5d6);overflow:hidden;cursor:pointer;position:relative;transition:opacity .3s}.profile-grid-item:hover{opacity:.85}.grid-verse-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center;background:linear-gradient(145deg,#0d1b2a,#1b2838)}.grid-verse-card .verse-text{font-family:Amiri,serif;font-size:13px;line-height:1.8;color:#fff;max-height:70%;overflow:hidden}.grid-verse-card .verse-ref{font-size:9px;color:rgba(212,175,55,.7);margin-top:auto;padding-top:6px}.grid-achievement-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#8b7520);color:#0d1b2a;padding:10px}.grid-achievement-card .achievement-icon{font-size:32px;margin-bottom:6px}.grid-achievement-card .achievement-text{font-size:11px;font-weight:700;text-align:center}.grid-streak-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a3a2a,#0d1b2a);color:#10b981;padding:10px}.grid-streak-card .streak-number{font-size:36px;font-weight:800}.grid-streak-card .streak-label{font-size:11px;color:rgba(16,185,129,.7)}.grid-recitation-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a1a3a,#1a0a2a);color:#a78bfa;padding:10px}.grid-recitation-card .recitation-icon{font-size:28px;margin-bottom:6px}.grid-recitation-card .recitation-surah{font-size:12px;font-weight:700;color:#fff}.grid-recitation-card .recitation-duration{font-size:10px;color:rgba(167,139,250,.6)}.grid-item-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;gap:16px;opacity:0;transition:opacity .3s}.profile-grid-item:hover .grid-item-overlay{opacity:1}.grid-item-overlay span{color:#fff;font-size:14px;font-weight:700}.create-post-fab{position:fixed;bottom:90px;left:20px;width:56px;height:56px;background:linear-gradient(135deg,#d4af37,#b8941e);border:none;border-radius:50%;color:#0d1b2a;font-size:28px;cursor:pointer;box-shadow:0 6px 24px rgba(212,175,55,.4);z-index:100;transition:all .3s;display:none;align-items:center;justify-content:center}.create-post-fab.show{display:flex}.create-post-fab:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 10px 32px rgba(212,175,55,.5)}body.dark-mode .profile-name{color:#fff}body.dark-mode .profile-bio{color:rgba(255,255,255,.6)}body.dark-mode .profile-stat-num{color:#fff}body.dark-mode .profile-grid-tabs,body.dark-mode .profile-stats-bar{border-color:rgba(255,255,255,.1)}body.dark-mode .profile-grid-tab.active{border-bottom-color:#d4af37}body.dark-mode .profile-stat:not(:last-child){border-color:rgba(255,255,255,.1)}@media (max-width:380px){.auth-container{padding:20px 16px}.auth-card{padding:24px 18px}.auth-logo h1{font-size:28px}.profile-avatar{width:80px;height:80px;font-size:32px}}@media (max-width:768px){#auth-gate{justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-container{padding:20px 16px;max-height:none;padding-top:40px;padding-bottom:40px}.auth-card{padding:24px 20px;border-radius:20px}.auth-logo{margin-bottom:20px}.auth-logo-img{width:70px;height:70px}.auth-logo h1{font-size:30px}.auth-logo p{font-size:13px}.auth-input{padding:14px 16px;font-size:15px}.auth-btn-primary{padding:14px;font-size:15px}.auth-btn-social{padding:12px;font-size:14px}.profile-header{padding:20px 0 10px}.profile-avatar{width:85px;height:85px;font-size:34px}.profile-name{font-size:18px}.profile-stats-bar{margin:0 0 12px}.profile-stat-num{font-size:17px}.profile-stat-label{font-size:10px}.profile-actions{gap:8px}.profile-btn-edit{font-size:13px;padding:8px 16px}.profile-grid{gap:2px;margin:2px 0 0}.profile-grid-item{border-radius:4px}.profile-grid-item-text{font-size:11px;padding:6px}}@media (max-width:375px){.auth-container{padding:15px 12px;padding-top:30px}.auth-card{padding:20px 16px}.auth-logo-img{width:60px;height:60px}.auth-logo h1{font-size:26px}.auth-input{padding:12px 14px;font-size:14px}.profile-avatar{width:70px;height:70px;font-size:28px}.profile-grid-item-text{font-size:10px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.auth-container{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.profile-grid{padding-bottom:env(safe-area-inset-bottom)}}@media (max-height:500px) and (orientation:landscape){#auth-gate{justify-content:flex-start}.auth-container{padding-top:10px}.auth-logo{margin-bottom:10px}.auth-logo-img{width:50px;height:50px}.auth-logo h1{font-size:24px}}