*{box-sizing:border-box}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{width:100%;min-height:100vh}.app{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;padding:1rem 1rem 2rem}.header{text-align:center;color:#fff;padding:2rem 1rem 1.5rem}.app-title{text-shadow:0 2px 10px #0003;letter-spacing:.5px;margin:0;font-size:2rem;font-weight:700}.app-subtitle{opacity:.9;margin:.5rem 0 0;font-size:1rem;font-weight:300}.current-time-card{text-align:center;background:#fffffff2;border-radius:20px;max-width:400px;margin:0 auto 1.5rem;padding:1.5rem;box-shadow:0 10px 30px #0003}.time-display{color:#667eea;font-variant-numeric:tabular-nums;letter-spacing:2px;margin-bottom:.5rem;font-size:3rem;font-weight:700}.date-display{color:#666;margin-bottom:1rem;font-size:.9rem;font-weight:500}.next-prayer{border-top:2px solid #f0f0f0;flex-direction:column;gap:.3rem;padding-top:1rem;display:flex}.next-prayer-label{color:#999;text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:600}.next-prayer-name{color:#764ba2;font-size:1.3rem;font-weight:700}.next-prayer-time{color:#667eea;font-size:1rem;font-weight:600}.prayer-list{flex-direction:column;gap:1rem;max-width:400px;margin:0 auto;display:flex}.prayer-card{background:#fffffff2;border-radius:16px;align-items:center;gap:1rem;padding:1.25rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.prayer-card:active{transform:scale(.98)}.next-prayer-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);transform:scale(1.02);box-shadow:0 6px 20px #667eea66}.next-prayer-card .prayer-name,.next-prayer-card .prayer-arabic{color:#fff}.next-prayer-card .prayer-time{color:#fffffff2}.prayer-icon{text-align:center;min-width:60px;font-size:2.5rem}.prayer-info{flex-direction:column;flex:1;gap:.3rem;display:flex}.prayer-name-row{justify-content:space-between;align-items:center;display:flex}.prayer-name{color:#333;font-size:1.1rem;font-weight:700}.prayer-arabic{color:#666;font-size:1rem;font-weight:500}.prayer-time{color:#667eea;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.next-badge{color:#fff;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff4d;border-radius:20px;padding:.25rem .75rem;font-size:.7rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.tabs-container{gap:.5rem;max-width:400px;margin:0 auto 1.5rem;padding:0 1rem;display:flex}.tab-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s;display:flex}.tab-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.tab-button:active{transform:translateY(0)}.tab-button.active{color:#667eea;background:#fffffff2;border-color:#fffffff2;box-shadow:0 4px 12px #0003}.tab-button.active .tab-icon{filter:none}.tab-icon{font-size:1.2rem}.tab-label{font-weight:700}.calendar-tab-content{max-width:400px;margin:0 auto}.date-picker-card{background:#fffffff2;border-radius:20px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 10px 30px #0003}.date-picker-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.date-picker-header h2{color:#333;margin:0;font-size:1.5rem;font-weight:700}.today-badge{color:#fff;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:.4rem .8rem;font-size:.75rem;font-weight:700}.date-input-wrapper{margin-bottom:1rem}.date-input{color:#333;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:12px;width:100%;padding:1rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:all .3s}.date-input:hover{border-color:#667eea}.date-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;font-size:1.2rem;transition:opacity .2s}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.selected-date-display{text-align:center;color:#666;border-top:2px solid #f0f0f0;padding-top:1rem;font-size:1rem;font-weight:500}.qibla-tab-content{max-width:400px;margin:0 auto}.qibla-card{background:#fffffff2;border-radius:20px;padding:1.5rem;box-shadow:0 10px 30px #0003}.qibla-header{text-align:center;margin-bottom:2rem}.qibla-header h2{color:#333;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.qibla-location{color:#666;font-size:1rem;font-weight:500}.qibla-compass-container{flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:250px;height:250px;margin-bottom:2rem;margin-left:auto;margin-right:auto;display:flex;position:relative}.qibla-compass-outer{border-radius:50%;width:250px;height:250px;transition:transform .1s linear;position:absolute}.qibla-compass{z-index:5;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:250px;height:250px;transition:transform .1s linear;display:flex;position:absolute;box-shadow:0 8px 25px #667eea4d}.compass-center{z-index:20;background:#fff;border:3px solid #667eea;border-radius:50%;width:20px;height:20px;position:absolute;box-shadow:0 2px 8px #0003}.compass-ring{border:3px solid #ffffff4d;border-radius:50%;width:100%;height:100%;position:absolute}.compass-needle{z-index:10;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.needle-pointer{filter:drop-shadow(0 2px 4px #0000004d);font-size:3rem;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.compass-mark{color:#fff;text-shadow:0 2px 4px #0000004d;font-size:1.2rem;font-weight:700;position:absolute}.compass-n{top:10px;left:50%;transform:translate(-50%)}.compass-e{top:50%;right:10px;transform:translateY(-50%)}.compass-s{bottom:10px;left:50%;transform:translate(-50%)}.compass-w{top:50%;left:10px;transform:translateY(-50%)}.qibla-direction-info{text-align:center}.qibla-angle{color:#667eea;font-variant-numeric:tabular-nums;margin-bottom:.5rem;font-size:3rem;font-weight:700}.qibla-description{color:#666;font-size:.9rem;font-weight:500}.qibla-device-heading{color:#999;margin-top:.5rem;font-size:.85rem;font-weight:500}.qibla-permission-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.warning-icon{font-size:1.5rem}.warning-text{color:#856404;flex:1;font-size:.9rem;font-weight:500}.qibla-instructions{border-top:2px solid #f0f0f0;flex-direction:column;gap:1rem;padding-top:1.5rem;display:flex}.instruction-item{background:#f8f9fa;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.instruction-icon{font-size:1.5rem}.instruction-text{color:#666;flex:1;font-size:.9rem;font-weight:500}.loading-container{flex-direction:column;justify-content:center;align-items:center;max-width:400px;margin:0 auto;padding:3rem 1rem;display:flex}.loading-spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#fff;opacity:.9;font-size:1rem;font-weight:500}.error-message{background:#fffffff2;border-left:4px solid #ff6b6b;border-radius:12px;align-items:center;gap:.75rem;max-width:400px;margin:0 auto 1.5rem;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 15px #0000001a}.error-icon{font-size:1.5rem}.error-text{color:#666;flex:1;font-size:.9rem;font-weight:500}.city-selector-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:300px;margin-top:1rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.city-selector-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.city-selector-button:active{transform:translateY(0)}.city-selector-icon{font-size:1.2rem}.city-selector-text{text-align:left;flex:1}.city-selector-arrow{opacity:.8;font-size:.8rem;transition:transform .3s}.header-buttons{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:300px;margin-top:1rem;margin-left:auto;margin-right:auto;display:flex}.install-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .3s;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.install-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.install-button:active{transform:translateY(0)}.install-icon{font-size:1.2rem}.install-text{font-weight:700}.city-chooser-overlay{z-index:1000;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.city-chooser-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#00000080;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.city-chooser{z-index:1001;background:#fff;border-radius:20px;width:100%;max-width:400px;max-height:80vh;animation:.3s slideUp;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.city-chooser-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:2px solid #f0f0f0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.city-chooser-header h2{margin:0;font-size:1.5rem;font-weight:700}.city-chooser-close{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .2s;display:flex}.city-chooser-close:hover{background:#ffffff4d;transform:rotate(90deg)}.city-chooser-close:active{transform:rotate(90deg)scale(.95)}.city-list{flex-direction:column;gap:.75rem;max-height:calc(80vh - 100px);padding:1rem;display:flex;overflow-y:auto}.city-option{cursor:pointer;text-align:left;background:#f8f9fa;border:2px solid #0000;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:1rem;transition:all .3s;display:flex}.city-option:hover{background:#e9ecef;border-color:#667eea;transform:translate(4px)}.city-option:active{transform:translate(4px)scale(.98)}.city-option.selected{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#764ba2;box-shadow:0 4px 12px #667eea4d}.city-option.selected .city-name,.city-option.selected .city-country{color:#fff}.city-flag{text-align:center;min-width:50px;font-size:2rem}.city-details{flex-direction:column;flex:1;gap:.25rem;display:flex}.city-name{color:#333;font-size:1.1rem;font-weight:700}.city-country{color:#666;font-size:.9rem;font-weight:500}.city-check{color:#fff;font-size:1.5rem;font-weight:700;animation:.3s checkIn}@keyframes checkIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.app{padding:.75rem}.header{padding:1.5rem .5rem 1rem}.app-title{font-size:1.75rem}.header-buttons{gap:.5rem;max-width:100%}.city-selector-button{max-width:100%;padding:.65rem .85rem;font-size:.85rem}.install-button{padding:.65rem .85rem;font-size:.85rem}.city-selector-text{font-size:.85rem}.tabs-container{flex-wrap:wrap;gap:.4rem;padding:0 .5rem}.tab-button{flex:calc(33.333% - .3rem);min-width:0;padding:.65rem .5rem;font-size:.8rem}.tab-label{font-size:.75rem}.tab-icon{font-size:1rem}.date-picker-card{border-radius:16px;padding:1.25rem}.date-picker-header h2{font-size:1.25rem}.date-input{padding:.85rem;font-size:1rem}.selected-date-display{font-size:.9rem}.qibla-card{border-radius:16px;padding:1.25rem}.qibla-compass-container,.qibla-compass-outer,.qibla-compass{width:200px;height:200px}.qibla-angle{font-size:2.5rem}.qibla-description,.instruction-text{font-size:.85rem}.city-chooser{border-radius:16px;max-height:85vh}.city-chooser-header{padding:1.25rem}.city-chooser-header h2{font-size:1.25rem}.city-list{gap:.5rem;padding:.75rem}.city-option{padding:.85rem}.city-flag{min-width:45px;font-size:1.75rem}.city-name{font-size:1rem}.city-country{font-size:.85rem}.current-time-card{border-radius:16px;padding:1.25rem}.time-display{font-size:2.5rem}.prayer-card{padding:1rem}.prayer-icon{min-width:50px;font-size:2rem}.prayer-time{font-size:1.3rem}}@media (max-height:600px) and (orientation:landscape){.header{padding:1rem 1rem .5rem}.app-title{font-size:1.5rem}.current-time-card{margin-bottom:1rem;padding:1rem}.time-display{font-size:2rem}.prayer-list{gap:.75rem}.prayer-card{padding:.75rem 1rem}}
