.app{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background .3s ease,color .3s ease}.prayer-display{min-height:100vh;display:flex;flex-direction:column;padding:2rem;position:relative}.prayer-display.loading,.prayer-display.error{align-items:center;justify-content:center;text-align:center;gap:1.5rem}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:4rem;animation:pulse 2s ease-in-out infinite}.display-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.current-time-section{text-align:left}.digital-clock{font-size:clamp(3rem,8vw,5rem);font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1;text-shadow:0 0 30px var(--accent-glow)}.current-date{font-size:1.1rem;color:var(--text-secondary);margin-top:.5rem;text-transform:capitalize}.mosque-info{text-align:right}.mosque-info h1{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.mosque-info p{font-size:.9rem;color:var(--text-muted)}.countdown-section{text-align:center;padding:2rem;margin:1rem 0 2rem;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));border-radius:var(--radius-xl);border:1px solid var(--border-color);animation:glow 3s ease-in-out infinite}.countdown-label{font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.countdown-value{font-size:clamp(3rem,10vw,6rem);font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 0 40px var(--accent-glow)}.countdown-prayer{font-size:1.5rem;color:var(--text-primary);margin-top:.5rem;font-weight:500}.prayers-list{display:flex;flex-direction:column;gap:.75rem;flex:1}.prayer-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .3s ease}.prayer-row:hover{border-color:var(--border-hover);transform:translate(4px)}.prayer-row.next{background:linear-gradient(90deg,var(--bg-tertiary),var(--bg-card));border-color:var(--accent-primary);border-width:2px}.prayer-row.active{background:var(--accent-primary);color:var(--bg-primary)}.prayer-row.active .prayer-name,.prayer-row.active .prayer-name-ar,.prayer-row.active .prayer-time{color:var(--bg-primary)}.prayer-names{display:flex;flex-direction:column;gap:.25rem}.prayer-name-ar{font-family:Noto Naskh Arabic,serif;font-size:1.4rem;color:var(--accent-secondary)}.prayer-name{font-size:1rem;color:var(--text-secondary);text-transform:capitalize}.prayer-row.next .prayer-name-ar{color:var(--accent-primary);font-weight:600}.prayer-time{font-size:1.6rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.next-badge{background:var(--accent-primary);color:var(--bg-primary);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.jumua-section{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;margin-top:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.jumua-label{font-family:Noto Naskh Arabic,serif;font-size:1.2rem;color:var(--text-secondary)}.jumua-time{font-size:1.4rem;font-weight:600;color:var(--accent-primary);font-variant-numeric:tabular-nums}.setup-trigger{position:fixed;top:1rem;right:1rem;width:40px;height:40px;background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;opacity:0;transition:opacity .3s ease;z-index:100}.prayer-display:hover .setup-trigger{opacity:.5}.setup-trigger:hover{opacity:1!important}.setup-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary))}.setup-container{width:100%;max-width:480px;background:var(--bg-card);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);animation:slideUp .5s ease}.setup-header{text-align:center;margin-bottom:2rem}.setup-header .logo{font-size:4rem;margin-bottom:.5rem}.setup-header h1{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.setup-header p{color:var(--text-secondary)}.search-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.form-group.checkbox label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.form-group.checkbox input{width:auto;accent-color:var(--accent-primary)}.btn-primary,.btn-secondary{width:100%;padding:1rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-link{background:transparent;border:none;color:var(--accent-primary);font-size:.9rem;cursor:pointer;text-decoration:underline}.search-results{margin-top:1.5rem}.search-results h3{font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.results-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.result-item{text-align:left;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.result-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.result-address{font-size:.875rem;color:var(--text-muted)}.result-distance{font-size:.75rem;color:var(--accent-primary);margin-top:.25rem}.no-results{text-align:center;padding:2rem;color:var(--text-muted)}.selected-mosque{background:var(--bg-tertiary);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.selected-mosque strong{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.selected-mosque p{font-weight:600;color:var(--text-primary)}.selected-mosque small{color:var(--text-secondary)}.theme-selector{display:flex;gap:.75rem}.theme-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-size:1.5rem}.theme-btn span{font-size:.75rem;text-transform:capitalize;color:var(--text-secondary)}.theme-btn:hover{border-color:var(--border-hover)}.theme-btn.active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.theme-btn.active span{color:var(--accent-primary)}.setup-actions{display:flex;gap:1rem;margin-top:2rem}.setup-actions .btn-secondary{flex:1}.setup-actions .btn-primary{flex:2}.qr-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary))}.qr-container{width:100%;max-width:420px;text-align:center;animation:fadeIn .5s ease}.qr-header{margin-bottom:2rem}.wifi-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}.qr-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.qr-header p{color:var(--text-secondary);line-height:1.6}.qr-code-wrapper{background:#fff;padding:1.5rem;border-radius:var(--radius-xl);display:inline-block;margin-bottom:2rem;box-shadow:var(--shadow-md)}.qr-loading{width:280px;height:280px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.qr-instructions{text-align:left;background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.qr-instructions ol{padding-left:1.25rem;color:var(--text-secondary)}.qr-instructions li{margin-bottom:.5rem}.manual-setup{margin-bottom:1.5rem}.network-status{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.status-indicator{width:8px;height:8px;border-radius:50%}.status-indicator.offline{background:var(--error);animation:pulse 2s ease-in-out infinite}.input-mode-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:var(--radius-md)}.input-mode-toggle button{flex:1;padding:.75rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.input-mode-toggle button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.input-help{display:block;margin-top:.5rem;font-size:.8rem;color:var(--text-muted);line-height:1.4}.error-message{background:#f443361a;color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--error);font-size:.875rem;margin-bottom:1rem}.setup-help{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.setup-help h4{font-size:.95rem;color:var(--text-primary);margin-bottom:1rem}.setup-help ol{padding-left:1.25rem;color:var(--text-secondary);font-size:.875rem}.setup-help li{margin-bottom:.5rem}.setup-help a{color:var(--accent-primary);text-decoration:none}.setup-help a:hover{text-decoration:underline}text-decoration: underline; .mosque-image{width:100%;height:150px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:1rem}.result-item{display:flex;align-items:center;gap:1rem;text-align:left;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.result-item:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}.result-image{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.result-content{flex:1;min-width:0}.result-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-size:1rem}.result-address{font-size:.875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-jumua{font-size:.8rem;color:var(--accent-primary);margin-top:.25rem;font-weight:500}@media (max-width: 768px){.prayer-display{padding:1rem}.display-header{flex-direction:column;gap:1rem;text-align:center}.current-time-section,.mosque-info{text-align:center}.prayer-row{grid-template-columns:1fr auto}.next-badge{display:none}.countdown-section{padding:1.5rem 1rem}.setup-container{padding:1.5rem}}@media (min-width: 1200px){.prayer-display{padding:3rem}.digital-clock{font-size:6rem}.prayer-row{padding:1.25rem 2rem}.prayer-name-ar{font-size:1.6rem}.prayer-time{font-size:2rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow:hidden;height:100vh;width:100vw}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a2e;--bg-card: #16162a;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #6a6a7a;--accent-primary: #c9a227;--accent-secondary: #d4af37;--accent-glow: rgba(201, 162, 39, .3);--border-color: #2a2a3e;--border-hover: #3a3a5e;--success: #4caf50;--error: #f44336;--warning: #ff9800;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-tertiary: #e8e8ec;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #4a4a5e;--text-muted: #8a8a9a;--accent-primary: #1e5a5a;--accent-secondary: #2a7a7a;--accent-glow: rgba(30, 90, 90, .2);--border-color: #d0d0d8;--border-hover: #b0b0b8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16)}[data-theme=gold]{--bg-primary: #1a1205;--bg-secondary: #2a1f0a;--bg-tertiary: #3a2a0f;--bg-card: #2d2210;--text-primary: #f5e6c8;--text-secondary: #c9b896;--text-muted: #8a7a5a;--accent-primary: #d4af37;--accent-secondary: #f4d03f;--accent-glow: rgba(212, 175, 55, .4);--border-color: #4a3a1a;--border-hover: #6a5a3a}.arabic{font-family:Noto Naskh Arabic,Traditional Arabic,serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 40px var(--accent-glow)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}
