/* ====== RESET & BASE ====== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Fredoka',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;transition:background .5s}
.arabic-text{font-family:'Amiri','Baloo Bhaijaan 2',serif;direction:rtl}
.hidden{display:none!important}
a{color:var(--accent);text-decoration:none}

/* ====== APP LAYOUT ====== */
.app{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:1rem;min-height:100vh}
.screen{display:none;animation:fadeIn .3s ease}
.screen.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.animate-pop{animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}
@keyframes popIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}

/* ====== AUTH SCREEN ====== */
.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90vh;padding:1rem}
.auth-logo{text-align:center;margin-bottom:2rem}
.logo-icon{font-size:4rem;display:block;animation:float 3s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.logo-text{font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-sub{color:var(--text-dim);font-size:1rem;margin-top:.3rem}
.auth-box{background:var(--card);border-radius:1.5rem;padding:2rem;width:100%;max-width:400px;border:1px solid var(--border);backdrop-filter:blur(10px)}
.auth-box h2{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.3rem}
.form-group input{width:100%;padding:.75rem 1rem;border-radius:1rem;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);font-family:inherit;font-size:1rem;outline:none;transition:border .2s}
.form-group input:focus{border-color:var(--accent)}
.auth-switch{text-align:center;margin-top:1rem;font-size:.9rem;color:var(--text-dim)}
.error-msg{color:var(--danger);text-align:center;margin-top:.5rem;font-size:.85rem}
.success-msg{color:var(--success);text-align:center;margin-top:.5rem;font-size:.85rem}

/* ====== BUTTONS ====== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.4rem;border-radius:1rem;border:none;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn:active{transform:scale(.95)}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{opacity:.9}
.btn-outline{background:transparent;border:2px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--accent)}
.btn-full{width:100%}
.btn-small{padding:.4rem .8rem;font-size:.85rem;border-radius:.7rem}
.btn-large{padding:1rem 2rem;font-size:1.2rem}
.btn-icon{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.3rem;position:relative;transition:transform .2s}
.btn-icon:hover{transform:scale(1.1)}

/* ====== PROFILE SELECT ====== */
.profile-header{text-align:center;padding:2rem 0 1rem;display:flex;justify-content:space-between;align-items:center}
.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1rem 0}
.profile-card{background:var(--card);border:2px solid var(--border);border-radius:1.5rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;animation:fadeIn .3s ease}
.profile-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 25px var(--shadow)}
.profile-card .avatar{font-size:3rem;display:block;margin-bottom:.5rem}
.profile-card .name{font-size:1.2rem;font-weight:700}
.profile-card .age{font-size:.85rem;color:var(--text-dim);margin:.3rem 0}
.profile-card .stars{font-size:.85rem;color:var(--accent)}
.add-child-form{background:var(--card);border-radius:1rem;padding:1.5rem;margin-top:1rem;max-width:300px}

/* ====== TOPBAR ====== */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:.8rem;background:var(--card);border-radius:1.2rem;margin-bottom:1rem;border:1px solid var(--border);backdrop-filter:blur(10px)}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:.6rem}
.child-avatar{font-size:1.5rem}
.child-name{font-weight:600;font-size:1rem}
.stars-display,.streak-display{background:rgba(255,255,255,.08);padding:.3rem .7rem;border-radius:2rem;font-size:.9rem;font-weight:600}
.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ====== DAILY BANNER ====== */
.daily-banner{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:1rem;margin-bottom:1rem;cursor:pointer;transition:transform .2s;color:#fff}
.daily-banner:hover{transform:scale(1.02)}
.daily-icon{font-size:2rem}
.daily-info strong{display:block}
.daily-arrow{margin-left:auto;font-size:1.5rem}

/* ====== SECTIONS GRID ====== */
.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem}
.section-card{background:var(--card);border:1px solid var(--border);border-radius:1.2rem;padding:1rem .5rem;text-align:center;cursor:pointer;transition:all .2s;animation:fadeIn .3s ease}
.section-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 5px 15px var(--shadow)}
.section-card .icon{font-size:2.2rem;display:block;margin-bottom:.3rem}
.section-card .label{font-weight:600;font-size:.9rem}
.progress-bar{height:4px;background:rgba(255,255,255,.1);border-radius:4px;margin-top:.5rem;overflow:hidden}
.progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .5s}

/* ====== SECTION VIEW ====== */
.section-topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.section-title{flex:1;font-size:1.3rem}
.section-intro{text-align:center;margin-bottom:1rem}
.section-intro h3{font-size:1.4rem;margin-bottom:.3rem}
.section-content{padding-bottom:2rem}

/* ====== TABS ====== */
.mode-tabs{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin:.8rem 0}
.tab{padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s}
.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.tab:hover{border-color:var(--accent)}

/* ====== ITEM GRID ====== */
.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;margin:.8rem 0}
.item-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:.8rem;text-align:center;cursor:pointer;transition:all .2s;animation:fadeIn .3s ease}
.item-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.item-card.completed{border-color:var(--success);box-shadow:0 0 10px rgba(102,187,106,.2)}
.item-card.locked{opacity:.5;cursor:not-allowed}
.item-card .big-ar{font-size:2.5rem}
.item-card .sub{font-size:.75rem;color:var(--text-dim);display:block;margin-top:.2rem}
.big-letter{font-size:5rem;font-weight:700}

/* ====== LEARN CARD ====== */
.learn-card{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;text-align:center;margin-top:1rem;backdrop-filter:blur(10px)}
.learn-card h3{margin:.5rem 0}
.learn-name{font-size:1.2rem;margin:.5rem 0}
.learn-example{font-size:1.1rem;color:var(--text-dim);margin:.5rem 0}
.learn-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}

/* ====== QUIZ ====== */
.quiz-area{background:var(--card);border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;text-align:center;margin-top:1rem}
.quiz-game{background:var(--card);border-radius:1.5rem;padding:1.5rem;border:1px solid var(--border)}
.quiz-header{display:flex;justify-content:space-between;margin-bottom:1rem;font-weight:600;color:var(--text-dim)}
.quiz-question{margin:1.5rem 0;animation:fadeIn .3s}
.quiz-question p{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-dim)}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;max-width:400px;margin:1rem auto}
.quiz-option{background:rgba(255,255,255,.05);border:2px solid var(--border);border-radius:1rem;padding:.8rem;cursor:pointer;font-weight:600;font-family:inherit;font-size:1rem;transition:all .2s;color:var(--text)}
.quiz-option:hover{border-color:var(--accent);background:rgba(255,255,255,.08)}
.quiz-option.correct{border-color:var(--success);background:rgba(102,187,106,.2);color:var(--success)}
.quiz-option.wrong{border-color:var(--danger);background:rgba(239,83,80,.2);color:var(--danger)}
.quiz-result{text-align:center;padding:2rem}
.quiz-result h2{font-size:1.8rem;margin-bottom:.5rem}

/* ====== QURAN ====== */
.quran-grid{grid-template-columns:1fr!important}
.surah-card{display:flex;align-items:center;gap:1rem;text-align:left;padding:1rem}
.surah-num{width:40px;height:40px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}
.surah-info{flex:1}
.surah-name{font-weight:600}
.surah-ar{font-size:1.2rem}
.surah-meta{font-size:.8rem;color:var(--text-dim)}
.done-check{font-size:1.2rem}
.surah-player-card{text-align:center}
.player-controls{display:flex;gap:1rem;justify-content:center;margin:1rem 0}
.ayah-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0}
.ayah-item{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:rgba(255,255,255,.05);border-radius:2rem;cursor:pointer;border:1px solid transparent;transition:all .2s}
.ayah-item:hover{border-color:var(--accent)}
.ayah-item.playing{background:var(--accent);color:#fff;animation:pulse .5s infinite alternate}
@keyframes pulse{from{transform:scale(1)}to{transform:scale(1.05)}}
.ayah-num{font-weight:600;font-size:.9rem}
.player-progress{margin:1rem 0}
.progress-text{text-align:center;margin-bottom:.5rem;font-size:.9rem}

/* ====== WORD LISTS ====== */
.word-cat{margin-bottom:1.5rem}
.word-cat h4{color:var(--accent);margin-bottom:.5rem}
.word-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}
.word-card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:.6rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s}
.word-card:hover{border-color:var(--accent)}
.word-en{font-weight:600;flex:1}
.word-hint{font-size:.75rem;color:var(--text-dim);display:block}
.word-play{font-size:1.2rem}

/* ====== SPELLING ====== */
.spell-display{font-size:2rem;letter-spacing:8px;font-weight:700;margin:1rem 0;min-height:50px}
.spell-keyboard{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:center;margin:1rem 0}
.key-btn{width:38px;height:38px;border-radius:.6rem;border:1px solid var(--border);background:rgba(255,255,255,.05);color:var(--text);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s}
.key-btn:hover{border-color:var(--accent);background:rgba(255,255,255,.1)}
.key-btn.wrong{background:rgba(239,83,80,.3);border-color:var(--danger)}

/* ====== DRAWING ====== */
.drawing-app{text-align:center}
.draw-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center;margin-bottom:.5rem}
.draw-colors{display:flex;gap:.3rem}
.color-dot{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s}
.color-dot.active{border-color:#fff;transform:scale(1.2)}
.draw-tools{display:flex;gap:.3rem;align-items:center}
.tool-btn{padding:.4rem;border-radius:.5rem;border:1px solid var(--border);background:transparent;font-size:1.2rem;cursor:pointer}
.tool-btn.active{background:var(--accent);border-color:var(--accent)}
.draw-canvas{border-radius:1rem;border:2px solid var(--border);background:#fff;max-width:100%;touch-action:none;cursor:crosshair}
.draw-stamps{display:flex;gap:.3rem;justify-content:center;margin:.5rem 0}
.stamp-btn{font-size:1.5rem;background:none;border:none;cursor:pointer}
.coloring-pages{margin-top:1rem}
.template-row{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}

/* ====== MUSIC ====== */
.piano-container{max-width:500px;margin:0 auto}
.piano-keys{display:flex;gap:3px;justify-content:center}
.piano-key{flex:1;height:120px;border-radius:0 0 .8rem .8rem;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.5rem;cursor:pointer;transition:all .1s;color:#fff;font-weight:600;font-size:.8rem;min-width:40px}
.piano-key:active{transform:scaleY(.95);filter:brightness(1.3)}
.rhythm-game{text-align:center}
.rhythm-display{display:flex;gap:.5rem;justify-content:center;margin:1rem 0}
.beat-dot{width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.1);border:2px solid var(--border);transition:all .2s}
.beat-dot.active{background:var(--accent);border-color:var(--accent)}
.beat-dot.playing{transform:scale(1.3);box-shadow:0 0 15px var(--accent)}
.drum-pad{width:100px;height:100px;margin:1rem auto;font-size:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card);border:3px solid var(--accent);cursor:pointer;transition:transform .1s}
.drum-pad:active{transform:scale(.9)}
.simon-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-width:200px;margin:1rem auto}
.simon-btn{height:80px;border-radius:1rem;cursor:pointer;transition:all .2s;opacity:.6}
.simon-btn.flash{opacity:1;transform:scale(1.05);box-shadow:0 0 20px currentColor}

/* ====== STORY ====== */
.story-card{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.story-page{max-width:500px;margin:0 auto}
.story-illustration{letter-spacing:8px;margin-bottom:1rem}
.story-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}

/* ====== DUAS ====== */
.dua-card{text-align:left;animation:fadeIn .3s ease}

/* ====== SHOP ====== */
.shop-item{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem}
.shop-categories h4{color:var(--accent);margin:1rem 0 .5rem;font-size:1.1rem}

/* ====== DAILY CHALLENGE ====== */
.daily-challenge{max-width:500px;margin:0 auto}
.daily-header-big{text-align:center;margin-bottom:1.5rem}
.streak-info{color:var(--accent2);font-size:1.1rem;margin-top:.5rem}
.daily-task{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:1rem;margin-bottom:.5rem;cursor:pointer;transition:all .2s}
.daily-task:hover{border-color:var(--accent)}
.daily-task.completed{border-color:var(--success);opacity:.7}
.task-icon{font-size:2rem}
.task-info{flex:1}
.task-desc{font-weight:600}
.task-status{font-size:.85rem;color:var(--text-dim)}
.task-arrow{font-size:1.2rem;color:var(--text-dim)}
.daily-progress{margin:1rem 0}
.daily-complete{background:var(--card);border-radius:1rem;padding:1.5rem;text-align:center;margin-top:1rem;border:2px solid var(--success)}

/* ====== MODALS ====== */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;backdrop-filter:blur(5px)}
.modal-content{background:var(--bg2);border:1px solid var(--border);border-radius:1.5rem;padding:2rem;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;text-align:center}
.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.theme-option{background:var(--card);border:2px solid var(--border);border-radius:1rem;padding:1rem;cursor:pointer;transition:all .2s}
.theme-option:hover{border-color:var(--accent)}
.theme-option.locked{opacity:.5;cursor:not-allowed}

/* ====== NOTIFICATIONS ====== */
.notif-list{max-height:300px;overflow-y:auto;text-align:left}
.notif-item{padding:.8rem;border-bottom:1px solid var(--border);cursor:pointer}
.notif-item.unread{background:rgba(255,255,255,.05)}
.n-title{font-weight:600}
.n-msg{font-size:.85rem;color:var(--text-dim);margin:.2rem 0}
.n-time{font-size:.75rem;color:var(--text-dim)}

/* ====== REWARD POPUP ====== */
.reward-popup{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}
.reward-content{background:var(--bg2);border:2px solid var(--accent);border-radius:2rem;padding:2.5rem;text-align:center;animation:popIn .4s cubic-bezier(.34,1.56,.64,1);max-width:350px;width:100%}
.reward-stars{font-size:2.5rem;margin-bottom:.5rem}
.reward-content h2{font-size:1.6rem;margin-bottom:.3rem}

/* ====== CONFETTI ====== */
#confettiCanvas{position:fixed;inset:0;pointer-events:none;z-index:300;display:none}

/* ====== RESPONSIVE ====== */
@media(max-width:600px){
  .sections-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}
  .section-card{padding:.7rem .3rem}
  .section-card .icon{font-size:1.8rem}
  .section-card .label{font-size:.75rem}
  .item-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}
  .quiz-options{grid-template-columns:1fr 1fr}
  .topbar{padding:.5rem;gap:.3rem}
  .auth-box{padding:1.5rem}
  .profiles-grid{grid-template-columns:1fr 1fr}
  .piano-key{height:80px;min-width:30px}
  .big-letter{font-size:3.5rem}
}
@media(max-width:400px){
  .sections-grid{grid-template-columns:repeat(3,1fr)}
  .profiles-grid{grid-template-columns:1fr}
}
