@font-face{font-family:'KFGQPC Hafs';src:url('/assets/fonts/KFGQPC_Hafs.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:'KFGQPC Naskh';src:url('/assets/fonts/KFGQPC_Naskh.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:'Uthmanic Hafs';src:url('/assets/fonts/UthmanicHafs_v22.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap}
@font-face{font-family:'Amiri Quran';src:url('/assets/fonts/Amiri-Quran.ttf') format('truetype');font-weight:normal;font-style:normal;font-display:swap}
:root{--c-bg:#ffffff;--c-bg-alt:#f8f9fa;--c-text:#1a1a1a;--c-text-muted:#6b7280;--c-primary:#0d7a5f;--c-primary-dark:#0a5c47;--c-arabic:#1e3a2f;--c-border:#e5e7eb;--c-success:#10b981;--c-warning:#f59e0b;--shadow:0 1px 3px rgba(0,0,0,0.1);--shadow-lg:0 4px 12px rgba(0,0,0,0.15);--radius:8px;--radius-lg:12px;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-arabic:"KFGQPC Hafs","KFGQPC Naskh","Uthmanic Hafs","Amiri Quran","Traditional Arabic",serif;--transition:0.2s ease}
[data-theme="dark"]{--c-bg:#0f1419;--c-bg-alt:#1a1f25;--c-text:#e7e9ea;--c-text-muted:#8b98a5;--c-primary:#2ecc71;--c-primary-dark:#27ae60;--c-arabic:#a8d5ba;--c-border:#2f3336;--shadow:0 1px 3px rgba(0,0,0,0.3)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--c-bg);color:var(--c-text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--c-primary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--c-primary-dark)}
img{max-width:100%;height:auto;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:1rem}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.header{background:var(--c-bg);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:56px}
.header__logo{font-size:1.25rem;font-weight:700;color:var(--c-text);display:flex;align-items:center;gap:0.5rem}
.header__logo svg{width:28px;height:28px;fill:var(--c-primary)}
.header__nav{display:flex;align-items:center;gap:0.5rem}
.header__btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--c-text);transition:background var(--transition)}
.header__btn:hover{background:var(--c-bg-alt)}
.header__btn svg{width:20px;height:20px}
.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:1rem}
.nav.is-open{display:block}
.nav__link{display:block;padding:0.75rem 1rem;color:var(--c-text);border-radius:var(--radius)}
.nav__link:hover{background:var(--c-bg-alt)}
.main{flex:1;padding:1.5rem 0}
.hero{text-align:center;padding:2rem 0;margin-bottom:2rem}
.hero__title{font-size:1.75rem;font-weight:700;margin-bottom:0.5rem}
.hero__subtitle{color:var(--c-text-muted);font-size:1rem}
.search{position:relative;max-width:500px;margin:1.5rem auto 0}
.search__input{width:100%;padding:0.875rem 1rem 0.875rem 2.75rem;border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-bg);color:var(--c-text);font-size:1rem;transition:border-color var(--transition),box-shadow var(--transition)}
.search__input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(13,122,95,0.1)}
.search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--c-text-muted)}
.search__results{position:absolute;top:100%;left:0;right:0;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);margin-top:0.5rem;max-height:400px;overflow-y:auto;box-shadow:var(--shadow-lg);display:none;z-index:50}
.search__results.is-open{display:block}
.search__item{display:block;padding:0.75rem 1rem;border-bottom:1px solid var(--c-border)}
.search__item:last-child{border-bottom:none}
.search__item:hover{background:var(--c-bg-alt)}
.search__item-title{font-weight:600;margin-bottom:0.25rem}
.search__item-subtitle{font-size:0.875rem;color:var(--c-text-muted)}
.grid{display:grid;gap:1rem}
.grid--surahs{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1rem;transition:box-shadow var(--transition),transform var(--transition)}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card--surah{display:flex;align-items:center;gap:1rem}
.card__number{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--c-primary);color:#fff;font-weight:700;border-radius:var(--radius);font-size:1rem;flex-shrink:0}
.card__content{flex:1;min-width:0}
.card__title{font-weight:600;font-size:1rem;display:flex;align-items:center;gap:0.5rem}
.card__title-ar{font-family:var(--font-arabic);font-size:4rem;color:var(--c-arabic)}
.card__meta{font-size:0.8125rem;color:var(--c-text-muted);margin-top:0.25rem}
.card__badge{display:inline-flex;align-items:center;padding:0.125rem 0.5rem;background:var(--c-bg-alt);border-radius:999px;font-size:0.75rem;color:var(--c-text-muted)}
.tabs{display:flex;gap:0.25rem;border-bottom:1px solid var(--c-border);margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs__btn{padding:0.75rem 1rem;font-weight:500;color:var(--c-text-muted);border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--transition),border-color var(--transition)}
.tabs__btn:hover{color:var(--c-text)}
.tabs__btn.is-active{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.surah-header{text-align:center;padding:1.5rem 0;margin-bottom:1.5rem;border-bottom:1px solid var(--c-border)}
.surah-header__arabic{font-family:var(--font-arabic);font-size:8rem;color:var(--c-arabic);margin-bottom:0.5rem}
.surah-header__title{font-size:1.5rem;font-weight:700;margin-bottom:0.5rem}
.surah-header__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;color:var(--c-text-muted);font-size:0.875rem}
.surah-header__meta span{display:flex;align-items:center;gap:0.25rem}
.surah-nav{display:flex;justify-content:space-between;margin-bottom:1.5rem}
.surah-nav__link{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;background:var(--c-bg-alt);border-radius:var(--radius);font-size:0.875rem;color:var(--c-text)}
.surah-nav__link:hover{background:var(--c-border)}
.surah-nav__link svg{width:16px;height:16px}
.surah-nav__link--disabled{opacity:0.5;pointer-events:none}
.bismillah{text-align:center;font-family:var(--font-arabic);font-size:6rem;color:var(--c-arabic);padding:1.5rem 0;margin-bottom:1rem}
.ayah{padding:1.25rem;border-bottom:1px solid var(--c-border);transition:background var(--transition)}
.ayah:hover{background:var(--c-bg-alt)}
.ayah:last-child{border-bottom:none}
.ayah__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ayah__number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--c-primary);color:#fff;font-weight:600;border-radius:50%;font-size:0.875rem}
.ayah__actions{display:flex;gap:0.5rem}
.ayah__btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);border-radius:50%;transition:background var(--transition),color var(--transition)}
.ayah__btn:hover{background:var(--c-bg-alt);color:var(--c-primary)}
.ayah__btn svg{width:16px;height:16px}
.ayah__btn.is-active{color:var(--c-primary)}
.ayah__arabic{font-family:var(--font-arabic);font-size:6rem;line-height:1.8;color:var(--c-arabic);text-align:right;direction:rtl;margin-bottom:1rem;word-spacing:0.1em}
.ayah__latin{font-size:1rem;color:var(--c-text-muted);margin-bottom:0.75rem;font-style:italic}
.ayah__translation{font-size:1rem;line-height:1.7}
.ayah__tafsir{margin-top:1rem;padding:1rem;background:var(--c-bg-alt);border-radius:var(--radius);font-size:0.9375rem;line-height:1.7;display:none}
.ayah__tafsir.is-open{display:block}
.ayah__tafsir-title{font-weight:600;margin-bottom:0.5rem;color:var(--c-primary)}
.ayah__words{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:flex-end;direction:rtl;margin-bottom:1rem}
.word{text-align:center;padding:0.5rem;background:var(--c-bg-alt);border-radius:var(--radius);min-width:60px;cursor:pointer;transition:background var(--transition)}
.word:hover{background:var(--c-border)}
.word__arabic{font-family:var(--font-arabic);font-size:4rem;color:var(--c-arabic);margin-bottom:0.25rem}
.word__meaning{font-size:0.75rem;color:var(--c-text-muted)}
.player{position:fixed;bottom:0;left:0;right:0;background:var(--c-bg);border-top:1px solid var(--c-border);padding:0.75rem 1rem;z-index:100;transform:translateY(100%);transition:transform 0.3s ease}
.player.is-open{transform:translateY(0)}
.player__inner{display:flex;align-items:center;gap:1rem;max-width:1200px;margin:0 auto}
.player__info{flex:1;min-width:0}
.player__title{font-weight:600;font-size:0.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player__subtitle{font-size:0.75rem;color:var(--c-text-muted)}
.player__controls{display:flex;align-items:center;gap:0.5rem}
.player__btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--c-text);transition:background var(--transition)}
.player__btn:hover{background:var(--c-bg-alt)}
.player__btn--play{background:var(--c-primary);color:#fff}
.player__btn--play:hover{background:var(--c-primary-dark)}
.player__btn svg{width:20px;height:20px}
.player__progress{flex:1;display:flex;align-items:center;gap:0.5rem}
.player__bar{flex:1;height:4px;background:var(--c-border);border-radius:2px;cursor:pointer;position:relative}
.player__bar-fill{height:100%;background:var(--c-primary);border-radius:2px;width:0;transition:width 0.1s linear}
.player__time{font-size:0.75rem;color:var(--c-text-muted);min-width:40px}
.player__speed{padding:0.25rem 0.5rem;border:1px solid var(--c-border);border-radius:var(--radius);font-size:0.75rem;background:var(--c-bg);color:var(--c-text)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem}
.modal.is-open{display:flex}
.modal__content{background:var(--c-bg);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}
.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--c-border)}
.modal__title{font-weight:600;font-size:1.125rem}
.modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--c-text-muted)}
.modal__close:hover{background:var(--c-bg-alt)}
.modal__body{padding:1rem}
.footer{background:var(--c-bg-alt);border-top:1px solid var(--c-border);padding:2rem 0;margin-top:auto}
.footer__inner{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}
.footer__section h4{font-weight:600;margin-bottom:0.75rem;font-size:0.875rem}
.footer__links{display:flex;flex-direction:column;gap:0.5rem}
.footer__links a{color:var(--c-text-muted);font-size:0.875rem}
.footer__links a:hover{color:var(--c-primary)}
.footer__bottom{text-align:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--c-border);color:var(--c-text-muted);font-size:0.8125rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.625rem 1.25rem;border-radius:var(--radius);font-weight:500;font-size:0.875rem;transition:background var(--transition),color var(--transition)}
.btn--primary{background:var(--c-primary);color:#fff}
.btn--primary:hover{background:var(--c-primary-dark);color:#fff}
.btn--outline{border:1px solid var(--c-border);color:var(--c-text)}
.btn--outline:hover{background:var(--c-bg-alt)}
.btn--sm{padding:0.375rem 0.75rem;font-size:0.8125rem}
.filter{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}
.filter__btn{padding:0.5rem 1rem;border:1px solid var(--c-border);border-radius:999px;font-size:0.875rem;color:var(--c-text-muted);transition:all var(--transition)}
.filter__btn:hover{border-color:var(--c-primary);color:var(--c-primary)}
.filter__btn.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.empty{text-align:center;padding:3rem 1rem;color:var(--c-text-muted)}
.empty__icon{width:64px;height:64px;margin:0 auto 1rem;opacity:0.5}
.empty__title{font-size:1.125rem;font-weight:600;margin-bottom:0.5rem;color:var(--c-text)}
.loading{display:flex;align-items:center;justify-content:center;padding:2rem}
.loading__spinner{width:32px;height:32px;border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--c-text);color:var(--c-bg);padding:0.75rem 1.5rem;border-radius:var(--radius);font-size:0.875rem;z-index:300;opacity:0;transition:opacity 0.3s ease}
.toast.is-visible{opacity:1}
.hafizlik{background:var(--c-bg-alt);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1.5rem}
.hafizlik__title{font-weight:600;margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem}
.hafizlik__controls{display:flex;flex-wrap:wrap;gap:0.75rem}
.hafizlik__group{display:flex;align-items:center;gap:0.5rem}
.hafizlik__label{font-size:0.8125rem;color:var(--c-text-muted)}
.hafizlik__select{padding:0.375rem 0.75rem;border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg);color:var(--c-text);font-size:0.8125rem}
@media(min-width:640px){.header__inner{height:64px}.hero__title{font-size:2.25rem}.ayah__arabic{font-size:7rem}.player__inner{gap:1.5rem}}
@media(min-width:768px){.nav{display:flex;position:static;border:none;padding:0;gap:0.5rem}.nav__link{padding:0.5rem 0.75rem}.grid--surahs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.footer__inner{flex-wrap:nowrap}}
@media(min-width:1024px){.container{padding:0 2rem}}
@media(max-width:639px){.player__progress{display:none}.surah-header__arabic{font-size:5rem}.ayah__arabic{font-size:4rem}}
