*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#0a1628;--primary-light:#132140;--gold:#d4a843;--gold-light:#e8c96a;--gold-dim:rgba(212,168,67,0.3);--bg:#0a1628;--card:rgba(19,33,64,0.8);--card-border:rgba(212,168,67,0.25);--text:#e8dcc8;--text-light:#a89b8c;--text-gold:#d4a843;--shadow:0 4px 20px rgba(0,0,0,0.3);--radius:16px}
body{font-family:'Tajawal',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;direction:rtl;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 5L35 15L30 25L25 15Z' fill='none' stroke='rgba(212,168,67,0.08)' stroke-width='0.5'/%3E%3Cpath d='M5 30L15 35L25 30L15 25Z' fill='none' stroke='rgba(212,168,67,0.08)' stroke-width='0.5'/%3E%3Cpath d='M35 30L45 35L55 30L45 25Z' fill='none' stroke='rgba(212,168,67,0.08)' stroke-width='0.5'/%3E%3Cpath d='M30 35L35 45L30 55L25 45Z' fill='none' stroke='rgba(212,168,67,0.08)' stroke-width='0.5'/%3E%3C/svg%3E")}
.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:40px 30px;width:100%;max-width:420px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.auth-header{text-align:center;margin-bottom:30px}
.moon-icon{font-size:50px;margin-bottom:10px;color:var(--gold);animation:float 3s ease-in-out infinite}
.moon-icon::after{content:'\2606';font-size:20px;position:relative;top:-20px}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.auth-header h1{font-family:'Amiri',serif;color:var(--gold);font-size:1.8em;text-shadow:0 2px 10px rgba(212,168,67,0.3)}
.auth-header .subtitle{color:var(--text-light);font-size:0.85em;margin-top:5px}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--gold)}
.form-group input{width:100%;padding:14px 16px;background:rgba(10,22,40,0.6);border:1.5px solid var(--card-border);border-radius:12px;font-size:16px;font-family:'Tajawal',sans-serif;color:var(--text);transition:border-color 0.3s}
.form-group input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 15px rgba(212,168,67,0.15)}
.form-group input::placeholder{color:var(--text-light)}
.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--primary);border:none;border-radius:12px;font-size:18px;font-family:'Tajawal',sans-serif;cursor:pointer;transition:all 0.3s;font-weight:700}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(212,168,67,0.4)}
.error-msg{color:#ff6b6b;text-align:center;margin:10px 0;min-height:20px}
.auth-switch{text-align:center;margin-top:20px;color:var(--text-light)}
.auth-switch a{color:var(--gold);text-decoration:none;font-weight:600}
.lang-toggle{text-align:center;margin-top:15px}
.btn-lang{background:transparent;border:1.5px solid var(--gold-dim);color:var(--gold);padding:8px 20px;border-radius:20px;cursor:pointer;font-family:'Tajawal',sans-serif;transition:all 0.3s}
.btn-lang:hover{background:var(--gold-dim)}
.app-container{max-width:500px;margin:0 auto;padding-bottom:100px}
.app-header{background:linear-gradient(180deg,rgba(10,22,40,0.95),rgba(10,22,40,0.8));padding:25px 20px;text-align:center;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--card-border)}
.bismillah{font-family:'Amiri',serif;color:var(--gold);font-size:1.1em;opacity:0.8;margin-bottom:8px}
.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.header-top h1{font-family:'Amiri',serif;font-size:1.4em;color:var(--gold);text-shadow:0 2px 10px rgba(212,168,67,0.3)}
.header-actions{display:flex;gap:8px}
.btn-icon{background:rgba(212,168,67,0.15);border:1px solid var(--gold-dim);color:var(--gold);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all 0.3s}
.btn-icon:hover{background:var(--gold-dim)}
.welcome-bar{text-align:center;color:var(--text-light);font-size:0.85em}
.day-nav{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px 0}
.day-nav button{background:rgba(212,168,67,0.15);border:1px solid var(--gold-dim);color:var(--gold);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:18px;transition:all 0.3s}
.day-nav button:hover{background:var(--gold-dim)}
.day-display{text-align:center}
.day-number{font-size:2.5em;font-weight:700;color:var(--gold);font-family:'Amiri',serif}
.day-label{font-size:0.85em;color:var(--text-light)}
.progress-section{padding:20px;text-align:center}
.progress-ring-container{position:relative;width:150px;height:150px;margin:0 auto 15px}
.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}
.progress-ring-bg{fill:none;stroke:rgba(212,168,67,0.15);stroke-width:8}
.progress-ring-fill{fill:none;stroke:var(--gold);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 0.8s ease;filter:drop-shadow(0 0 6px rgba(212,168,67,0.4))}
.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.progress-percent{font-size:2.2em;font-weight:700;color:var(--gold);font-family:'Amiri',serif}
.progress-label{font-size:0.75em;color:var(--text-light)}
.motivation-msg{color:var(--gold-light);font-size:0.9em;margin:10px 0;font-style:italic}
.section-title{font-family:'Amiri',serif;color:var(--gold);text-align:center;font-size:1.3em;margin:25px 0 15px;display:flex;align-items:center;justify-content:center;gap:8px}
.section-title::before,.section-title::after{content:'\2726';color:var(--gold-dim)}
.worship-list{padding:0 15px;display:flex;flex-direction:column;gap:12px}
.worship-card{background:var(--card);border:1.5px solid var(--card-border);border-radius:var(--radius);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all 0.3s}
.worship-card:hover{border-color:var(--gold);transform:translateX(-3px)}
.worship-card.completed{border-color:var(--gold);background:rgba(212,168,67,0.08)}
.worship-right{display:flex;align-items:center;gap:12px}
.worship-icon-box{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5em}
.worship-icon-box.quran{background:rgba(76,175,80,0.2)}
.worship-icon-box.athkar{background:rgba(233,30,99,0.2)}
.worship-icon-box.fasting{background:rgba(212,168,67,0.2)}
.worship-icon-box.sadaqah{background:rgba(156,39,176,0.2)}
.worship-icon-box.nawafil{background:rgba(33,150,243,0.2)}
.worship-icon-box.qiyam{background:rgba(103,58,183,0.2)}
.worship-info h3{font-size:1.05em;color:var(--text);margin-bottom:2px}
.worship-info p{font-size:0.8em;color:var(--text-light)}
.worship-check{width:32px;height:32px;border-radius:50%;border:2px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;transition:all 0.3s;color:transparent}
.worship-card.completed .worship-check{background:var(--gold);border-color:var(--gold);color:var(--primary)}
.stats-row{display:flex;justify-content:space-around;gap:10px;padding:0 15px}
.stat-item{background:var(--card);border:1px solid var(--card-border);padding:18px 10px;border-radius:var(--radius);flex:1;text-align:center}
.stat-value{font-size:2em;font-weight:700;color:var(--gold);font-family:'Amiri',serif}
.stat-label{font-size:0.75em;color:var(--text-light);margin-top:4px;display:flex;align-items:center;justify-content:center;gap:4px}
.heatmap-section{padding:0 15px}
.heatmap-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;direction:rtl}
.heatmap-cell{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:0.65em;font-weight:600;transition:transform 0.2s;cursor:pointer}
.heatmap-cell:hover{transform:scale(1.15)}
.level-0{background:rgba(212,168,67,0.05);color:var(--text-light)}
.level-1{background:rgba(212,168,67,0.15);color:var(--gold)}
.level-2{background:rgba(212,168,67,0.3);color:var(--gold)}
.level-3{background:rgba(212,168,67,0.5);color:var(--primary)}
.level-4{background:var(--gold);color:var(--primary)}
.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;font-size:0.75em;color:var(--text-light)}
.heatmap-legend span{width:14px;height:14px;border-radius:3px;display:inline-block}
.badges-section{padding:0 15px}
.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.badge-item{text-align:center;padding:15px;border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);transition:all 0.3s}
.badge-item.locked{opacity:0.3;filter:grayscale(1)}
.badge-item.unlocked{border-color:var(--gold);box-shadow:0 0 15px rgba(212,168,67,0.15)}
.badge-icon{font-size:2.5em;margin-bottom:5px}
.badge-name{font-size:0.75em;font-weight:600;color:var(--text-light)}
.ai-fab{position:fixed;bottom:25px;left:25px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--primary);border:none;font-size:22px;cursor:pointer;box-shadow:0 4px 20px rgba(212,168,67,0.4);z-index:100;transition:all 0.3s}
.ai-fab:hover{transform:scale(1.1)}
.chat-container{display:flex;flex-direction:column;height:100vh;max-width:500px;margin:0 auto;background:var(--bg)}
.chat-header{background:var(--card);border-bottom:1px solid var(--card-border);padding:15px 20px;display:flex;align-items:center;gap:15px}
.btn-back{background:rgba(212,168,67,0.15);border:1px solid var(--gold-dim);color:var(--gold);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.chat-title{display:flex;align-items:center;gap:10px;font-size:1.1em;font-weight:600;color:var(--gold)}
.ai-avatar{font-size:1.5em}
.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.chat-msg{display:flex}
.chat-msg.user{justify-content:flex-end}
.chat-msg.assistant{justify-content:flex-start}
.msg-bubble{max-width:80%;padding:12px 16px;border-radius:16px;line-height:1.6;font-size:0.95em}
.chat-msg.user .msg-bubble{background:var(--gold);color:var(--primary);border-bottom-right-radius:4px}
.chat-msg.assistant .msg-bubble{background:var(--card);border:1px solid var(--card-border);color:var(--text);border-bottom-left-radius:4px}
.chat-input{display:flex;gap:10px;padding:15px;background:var(--card);border-top:1px solid var(--card-border)}
.chat-input input{flex:1;padding:12px;background:rgba(10,22,40,0.6);border:1.5px solid var(--card-border);border-radius:25px;font-size:16px;font-family:'Tajawal',sans-serif;color:var(--text)}
.chat-input input:focus{outline:none;border-color:var(--gold)}
.chat-input button{background:var(--gold);color:var(--primary);border:none;padding:12px 20px;border-radius:25px;cursor:pointer;font-family:'Tajawal',sans-serif;font-weight:700}
.motivation-toast{position:fixed;top:-60px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--primary);padding:12px 24px;border-radius:25px;font-weight:600;z-index:1000;transition:top 0.3s ease;white-space:nowrap;box-shadow:0 4px 20px rgba(212,168,67,0.4)}
.motivation-toast.show{top:20px}
.confetti{position:fixed;top:-10px;width:10px;height:10px;border-radius:50%;z-index:1000;animation:confettiFall linear forwards}
@keyframes confettiFall{to{top:110vh;transform:rotate(720deg)}}
.install-banner{padding:20px;text-align:center}
.btn-install{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--primary);border:none;padding:12px 30px;border-radius:25px;font-size:16px;font-weight:700;cursor:pointer;font-family:'Tajawal',sans-serif}
.stories-section{padding:0 15px}
.stories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.story-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;text-align:center;cursor:pointer;transition:all 0.3s}
.story-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.story-card .story-icon{font-size:2em;margin-bottom:8px}
.story-card h3{font-size:0.95em;color:var(--gold);margin-bottom:4px}
.story-card p{font-size:0.75em;color:var(--text-light)}
.quran-section{padding:0 15px}
.quran-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;text-align:center}
.quran-card h3{color:var(--gold);margin-bottom:10px}
.quran-progress{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.quran-bar{flex:1;height:8px;background:rgba(212,168,67,0.15);border-radius:4px;overflow:hidden}
.quran-bar-fill{height:100%;background:var(--gold);border-radius:4px;transition:width 0.5s}
.quran-pages{font-size:0.85em;color:var(--text-light)}
.btn-quran{background:rgba(212,168,67,0.15);border:1px solid var(--gold-dim);color:var(--gold);padding:10px 20px;border-radius:25px;cursor:pointer;font-family:'Tajawal',sans-serif;font-weight:600;margin-top:10px;transition:all 0.3s}
.btn-quran:hover{background:var(--gold-dim)}
@media(max-width:400px){.heatmap-grid{grid-template-columns:repeat(6,1fr)}.badges-grid{grid-template-columns:repeat(2,1fr)}.stats-row{flex-wrap:wrap}}
