.calendar{width:100%}.view-tabs{display:flex;gap:8px;margin-bottom:20px}.tab{flex:1;padding:12px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border:none;border-radius:8px;font-size:15px;font-weight:500;color:var(--tg-theme-text-color);cursor:pointer;transition:all .2s}.tab.active{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff)}.daily-view{width:100%}.date-header{text-align:center;margin-bottom:20px;padding:16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px}.gregorian{font-size:16px;font-weight:600;margin-bottom:4px}.hijri{font-size:14px;color:var(--tg-theme-hint-color, #999)}.prayer-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.prayer-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;transition:all .2s}.prayer-item.next{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #ffffff);box-shadow:0 4px 12px #007aff4d}.prayer-item.past{opacity:.5}.prayer-icon{font-size:28px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.prayer-info{flex:1}.prayer-name{font-size:16px;font-weight:600;margin-bottom:4px}.next-badge{font-size:12px;opacity:.9}.prayer-time{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.settings-info{padding:16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;font-size:14px}.setting-item{display:flex;justify-content:space-between;margin-bottom:8px}.setting-item:last-child{margin-bottom:0}.setting-item .label{color:var(--tg-theme-hint-color, #999)}.setting-item .value{font-weight:600}.weekly-view{display:flex;flex-direction:column;gap:16px}.weekly-day{background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:16px;padding:18px;transition:all .3s ease;border:2px solid transparent}.weekly-day.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 24px #667eea66;border-color:#fff3}.day-header{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid rgba(0,0,0,.08)}.weekly-day.today .day-header{border-bottom-color:#ffffff40}.day-name{font-size:18px;font-weight:700;letter-spacing:-.5px}.day-date{font-size:13px;opacity:.75;font-weight:500}.day-hijri{font-size:12px;opacity:.7;margin-top:2px;font-weight:500}.day-times{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.prayer-time{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#0000000a;border-radius:10px;transition:all .2s}.weekly-day.today .prayer-time{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prayer-label{font-size:13px;font-weight:600;opacity:.85}.prayer-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.5px}.loading-weekly,.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-weekly .spinner{width:40px;height:40px;border:3px solid var(--tg-theme-hint-color, #999);border-top-color:var(--tg-theme-button-color, #007aff);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.qibla-container{padding:20px;max-width:600px;margin:0 auto}.permission-request{text-align:center;padding:60px 20px;display:flex;flex-direction:column;align-items:center;gap:20px}.permission-icon{font-size:80px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.permission-request h3{font-size:22px;font-weight:700;color:var(--tg-theme-text-color);margin:0}.permission-request p{font-size:15px;color:var(--tg-theme-hint-color);line-height:1.6;max-width:400px;margin:0}.btn-permission{padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #667eea66;transition:all .3s ease}.btn-permission:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea80}.btn-permission:active{transform:translateY(0)}.qibla-header{text-align:center;margin-bottom:30px}.qibla-header h2{margin-bottom:20px;color:var(--tg-theme-text-color)}.qibla-info{display:flex;justify-content:space-around;flex-wrap:wrap;gap:15px;padding:15px;background:#0000000d;border-radius:12px}.info-item{display:flex;flex-direction:column;align-items:center;gap:5px}.info-item .label{font-size:12px;color:var(--tg-theme-hint-color)}.info-item .value{font-size:18px;font-weight:700;color:var(--tg-theme-text-color)}.compass-container{display:flex;flex-direction:column;align-items:center;gap:20px}.compass-background{position:relative;width:300px;height:300px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 10px 40px #0003,inset 0 0 30px #ffffff1a;display:flex;align-items:center;justify-content:center}.cardinal-marks{position:absolute;width:100%;height:100%}.mark{position:absolute;font-weight:700;font-size:20px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.mark.north{top:10px;left:50%;transform:translate(-50%)}.mark.east{right:15px;top:50%;transform:translateY(-50%)}.mark.south{bottom:10px;left:50%;transform:translate(-50%)}.mark.west{left:15px;top:50%;transform:translateY(-50%)}.compass-needle{position:relative;width:200px;height:200px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.needle-pointer{position:absolute;top:0;left:50%;transform:translate(-50%);font-size:40px;color:#4caf50;text-shadow:0 2px 8px rgba(76,175,80,.5);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}}.kaaba-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.compass-center{position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffffff80}.device-heading{text-align:center;padding:10px 20px;background:#0000000d;border-radius:20px;font-size:14px;color:var(--tg-theme-hint-color)}.qibla-instructions{margin-top:30px;padding:15px;background:#4caf501a;border-left:4px solid #4caf50;border-radius:8px;font-size:14px;color:var(--tg-theme-text-color);line-height:1.6}.qibla-error,.qibla-loading{text-align:center;padding:40px 20px;font-size:16px;color:var(--tg-theme-hint-color)}.qibla-error p{color:#f44336}@media(prefers-color-scheme:dark){.qibla-info,.device-heading{background:#ffffff0d}}.app{width:100%;min-height:100vh;padding:16px;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color)}.app.loading,.app.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.spinner{width:40px;height:40px;border:3px solid var(--tg-theme-hint-color, #999);border-top-color:var(--tg-theme-button-color, #007aff);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-header{text-align:center;margin-bottom:24px}.app-header h1{font-size:24px;font-weight:600;margin-bottom:8px}.location{font-size:14px;color:var(--tg-theme-hint-color, #999);margin-bottom:16px}.view-tabs{display:flex;gap:8px;justify-content:center;margin-top:16px}.view-tabs .tab{flex:1;max-width:150px;padding:10px 16px;background:transparent;border:2px solid var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-color, #007aff);border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.view-tabs .tab.active{background:var(--tg-theme-button-color, #007aff);color:var(--tg-theme-button-text-color, #fff)}.view-tabs .tab:hover{opacity:.8}.no-location{text-align:center;padding:40px 20px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;margin-top:20px}.no-location p{font-size:16px;margin-bottom:8px}.no-location .hint{font-size:14px;color:var(--tg-theme-hint-color, #999)}.error p{color:#ff3b30;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000)}#root{width:100%;min-height:100vh}
