:root{color-scheme:dark;--bg: #0b0f14;--bg-grad: radial-gradient(1200px 800px at 50% -10%, #16202b 0%, #0b0f14 60%);--panel: rgba(255, 255, 255, .04);--panel-strong: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--text: #f2f5f8;--muted: #9aa7b4;--faint: #62707e;--accent: #6fd3c7;--accent-soft: rgba(111, 211, 199, .14);--warn: #f0b357;--danger: #ef7a7a;--radius: 18px;--shadow: 0 20px 60px rgba(0, 0, 0, .45)}html[data-theme=light]{color-scheme:light;--bg: #f4f6f8;--bg-grad: radial-gradient(1200px 800px at 50% -10%, #ffffff 0%, #eef1f4 60%);--panel: rgba(15, 23, 32, .035);--panel-strong: rgba(15, 23, 32, .06);--border: rgba(15, 23, 32, .1);--text: #10161d;--muted: #5a6774;--faint: #8794a1;--accent: #0f8f82;--accent-soft: rgba(15, 143, 130, .12);--warn: #9a6b12;--danger: #b33b3b;--shadow: 0 20px 60px rgba(20, 30, 40, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Helvetica Neue,Arial,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer}.app{height:100dvh;width:100vw;display:grid;padding:max(2.5vmin,16px);gap:max(2vmin,14px);grid-template-columns:1.35fr 1fr;grid-template-areas:"main side";transition:opacity .4s ease}@media (orientation: portrait){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"main" "side"}}.app.dimmed{opacity:.35}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.main{grid-area:main;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:clamp(8px,1.6vmin,22px);padding:clamp(16px,3vmin,44px);position:relative}.clock{font-size:clamp(4rem,20vmin,15rem);line-height:.95;font-weight:300;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.clock .sec{font-size:.28em;color:var(--accent);margin-left:.35em;font-weight:400;vertical-align:super}.date-line{font-size:clamp(1rem,3.2vmin,2.1rem);color:var(--muted);font-weight:400}.place-line{font-size:clamp(.85rem,2.4vmin,1.5rem);color:var(--faint);letter-spacing:.02em}.hijri-line{font-size:clamp(.8rem,2vmin,1.2rem);color:var(--faint)}.clock-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(6px,1.4vmin,18px);width:100%}.hint{position:absolute;bottom:10px;right:14px;color:var(--faint);font-size:.72rem;opacity:.55}.side{grid-area:side;display:flex;flex-direction:column;gap:max(2vmin,14px);min-height:0}@media (orientation: portrait){.side{min-height:0}}.next{padding:clamp(16px,3vmin,30px);display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,var(--accent-soft),transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.next .label{font-size:clamp(.8rem,1.8vmin,1rem);color:var(--accent);text-transform:uppercase;letter-spacing:.14em}.next .name{font-size:clamp(1.6rem,5.4vmin,3.4rem);font-weight:500;line-height:1.05}.next .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.next .time{font-size:clamp(1.8rem,6vmin,3.6rem);font-weight:300;font-variant-numeric:tabular-nums}.countdown{font-size:clamp(1.1rem,3.6vmin,2rem);color:var(--text);font-variant-numeric:tabular-nums}.countdown .cd-label{display:block;font-size:.55em;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.daylist{padding:clamp(10px,2vmin,18px);display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow:hidden}.daylist h2{margin:4px 8px 8px;font-size:clamp(.72rem,1.6vmin,.95rem);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.prow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:clamp(6px,1.4vmin,14px) clamp(8px,1.6vmin,16px);border-radius:12px;position:relative}.prow .pname{display:flex;flex-direction:column;gap:1px}.prow .pname .de{font-size:clamp(.95rem,2.6vmin,1.5rem);font-weight:500}.prow .pname .tr{font-size:clamp(.62rem,1.4vmin,.82rem);color:var(--faint);letter-spacing:.04em}.prow .ptime{font-size:clamp(1rem,3vmin,1.9rem);font-weight:300;font-variant-numeric:tabular-nums}.prow.active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.prow.active .pname .de,.prow.active .ptime{color:var(--accent);font-weight:600}.prow.past{opacity:.42}.prow.sunrise{opacity:.75}.prow .badge-missed{font-size:.62rem;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);padding:1px 6px;border-radius:999px;margin-left:8px;align-self:center}.statusrow{position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:30;pointer-events:none}.pill{font-size:.72rem;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-strong);color:var(--muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pill.demo{color:#ffdca8;border-color:#f0b35780;background:#f0b3571f;font-weight:600;letter-spacing:.08em}.pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.pill.ok{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.settings{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#04070ab8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:flex-start;padding:max(3vmin,18px);overflow-y:auto}.settings-panel{width:min(760px,100%);background:color-mix(in srgb,var(--bg) 82%,#000);border:1px solid var(--border);border-radius:20px;padding:clamp(16px,3vmin,34px);display:flex;flex-direction:column;gap:22px}html[data-theme=light] .settings-panel{background:#fff}.settings-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.settings-head h1{font-size:1.35rem;margin:0;font-weight:600}.close-btn{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:8px 14px;font-size:.95rem}.section{display:flex;flex-direction:column;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:none;padding-bottom:0}.section>h2{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.field{display:flex;flex-direction:column;gap:6px}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}label.toggle{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:8px 0}input[type=text],input[type=password],input[type=time],input[type=search],select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px 12px;font:inherit;min-width:0}input[type=range]{width:100%;accent-color:var(--accent)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.btn{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:10px 16px;font-size:.95rem;white-space:nowrap}.btn:hover{background:var(--panel-strong)}.btn.primary{background:var(--accent);color:#05201d;border-color:transparent;font-weight:600}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted);font-size:.85rem;line-height:1.5}.faint{color:var(--faint);font-size:.8rem}.row{display:flex;gap:8px;flex-wrap:wrap}.places-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;margin-top:6px}.place-item{text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.place-item .p-name{font-weight:600}.place-item .p-meta{font-size:.78rem;color:var(--muted)}.place-item.selected{border-color:var(--accent);background:var(--accent-soft)}.confirm{border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--accent-soft);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.notice{border-radius:12px;padding:10px 14px;font-size:.85rem;line-height:1.5;border:1px solid var(--border)}.notice.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.notice.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.notice.ok{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.85rem}.kv dt{color:var(--muted)}.kv dd{margin:0}.hidden-file{display:none}.spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}@media (hover: none){.hint{display:none}}
