:root{--plaster: #e9e4d9;--plaster-warm: #f2eee5;--lapis: #1b2a5b;--lapis-deep: #0f1830;--lapis-raised: #1a2748;--verdigris: #2e7d72;--brass: #b08d3f;--madder: #a6462f;--ash: #6e7891;--lapis-light: #4a6fa5;--slate: #2e3a57;--ground: var(--plaster);--surface: var(--plaster-warm);--ink: var(--lapis);--ink-soft: color-mix(in srgb, var(--lapis) 70%, var(--plaster));--font-display: "Amiri", Georgia, serif;--font-ui: "Inter", system-ui, sans-serif;--font-data: "IBM Plex Mono", ui-monospace, monospace;--step--1: .833rem;--step-0: 1rem;--step-1: 1.25rem;--step-2: 1.6rem;--step-3: 2.2rem;--step-4: 3.1rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--hairline: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);--hairline-strong: 1px solid color-mix(in srgb, var(--ink) 28%, transparent);--radius: 2px;color-scheme:light dark}:root[data-theme=dark]{--ground: var(--lapis-deep);--surface: var(--lapis-raised);--ink: var(--plaster);--ink-soft: color-mix(in srgb, var(--plaster) 68%, var(--lapis-deep));--plaster-warm: var(--lapis-raised);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--ground: var(--lapis-deep);--surface: var(--lapis-raised);--ink: var(--plaster);--ink-soft: color-mix(in srgb, var(--plaster) 68%, var(--lapis-deep));--plaster-warm: var(--lapis-raised);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.4;margin:0}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}a{color:var(--verdigris);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-ui);font-size:var(--step-0);cursor:pointer}.mono,time,.clock{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.eyebrow{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);letter-spacing:.01em}.muted{color:var(--ink-soft)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:var(--radius)}button,.tap{min-height:44px}.app-shell{max-width:1100px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-16)}.nav{display:flex;gap:var(--space-4);align-items:baseline;padding:var(--space-3) var(--space-4);border-bottom:var(--hairline);position:sticky;top:0;background:color-mix(in srgb,var(--ground) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.nav .brand{font-family:var(--font-display);font-size:var(--step-1);letter-spacing:.04em}.nav a{color:var(--ink-soft);padding:var(--space-2) 0;font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase}.nav a.active{color:var(--ink);border-bottom:2px solid var(--brass)}.nav .spacer{flex:1}.card{background:var(--surface);border:var(--hairline);border-radius:var(--radius);padding:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;color:var(--ink);border:var(--hairline-strong);border-radius:var(--radius)}.btn:hover{border-color:var(--brass)}.btn-primary{background:var(--verdigris);color:var(--plaster-warm);border-color:var(--verdigris)}.btn-danger{color:var(--madder);border-color:color-mix(in srgb,var(--madder) 50%,transparent)}label{display:block;font-size:var(--step--1);color:var(--ink-soft);margin-bottom:var(--space-1);letter-spacing:.02em}input,select{width:100%;padding:var(--space-2) var(--space-3);min-height:44px;background:var(--ground);color:var(--ink);border:var(--hairline-strong);border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--step-0)}input.mono{font-family:var(--font-data)}.field{margin-bottom:var(--space-4)}.error-text{color:var(--madder);font-size:var(--step--1)}.banner-unconfirmed{border:1px solid color-mix(in srgb,var(--madder) 45%,transparent);background:color-mix(in srgb,var(--madder) 8%,transparent);color:var(--ink);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--step--1)}.arabic{font-family:var(--font-display);font-size:var(--step-2);direction:rtl;text-align:right;line-height:1.7}.translit{font-family:var(--font-ui);font-style:italic;font-size:var(--step--1);color:var(--ink-soft)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.dial-wrap{width:100%;max-width:380px;margin:0 auto}.dial{width:100%;height:auto;display:block}.dial-arc{fill:none;stroke-linecap:butt}.dial-arc--fard{stroke:var(--brass);opacity:.85}.dial-arc--nafl{stroke:var(--verdigris);opacity:.9}.dial-arc--sleep{stroke:var(--lapis);opacity:.55}:root[data-theme=dark] .dial-arc--sleep{stroke:var(--lapis-light);opacity:.5}.dial-arc--forbidden{stroke:url(#hatch)}.dial-tick{stroke:var(--brass);stroke-width:2}.dial-tick--minor{stroke:color-mix(in srgb,var(--ink) 30%,transparent);stroke-width:1}.dial-hand{stroke:var(--brass);stroke-width:1.5}.dial-hand-dot{fill:var(--brass)}.dial-gnomon{stroke:var(--ash);stroke-width:2;stroke-linecap:round;opacity:.85}.dial-center-day{fill:var(--ink);font-family:var(--font-display);font-size:34px;text-anchor:middle;dominant-baseline:central}.dial-center-label{fill:var(--ink-soft);font-family:var(--font-ui);font-size:9px;letter-spacing:.18em;text-anchor:middle;text-transform:uppercase}@keyframes dial-draw{0%{stroke-dashoffset:var(--arc-len)}to{stroke-dashoffset:0}}@keyframes dial-hand-swing{0%{transform:rotate(0)}to{transform:rotate(var(--hand-angle))}}.dial--animate .dial-arc{stroke-dasharray:var(--arc-len);stroke-dashoffset:var(--arc-len);animation:dial-draw .7s ease-out forwards;animation-delay:var(--arc-delay, 0ms)}.dial--animate .dial-hand-group{transform-box:fill-box;transform-origin:var(--hand-origin);animation:dial-hand-swing .5s ease-out .74s both}@media (prefers-reduced-motion: reduce){.dial--animate .dial-arc,.dial--animate .dial-hand-group{animation:none;stroke-dashoffset:0}}@media (max-width: 400px){.dial-minor-ticks,.dial-gnomon{display:none}}.today-eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.today-eyebrow .eyebrow{flex:1;min-width:12ch}.nav-day{padding:var(--space-1) var(--space-3);min-height:40px;font-size:var(--step-1)}.today-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-6)}.today-left{position:static}.nownext{display:flex;gap:var(--space-8);justify-content:center;margin-top:var(--space-6)}.nownext-block{display:flex;flex-direction:column;gap:var(--space-1)}.nownext-label{font-size:var(--step--1);letter-spacing:.18em;color:var(--ink-soft)}.nownext-title{font-size:var(--step-1)}.nownext-sub{font-size:var(--step--1)}.sleep-foot{margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-2)}.ledger{border-top:var(--hairline)}.ledger-title{font-family:var(--font-ui);font-weight:600;font-size:var(--step--1);letter-spacing:.18em;color:var(--ink-soft);margin:var(--space-4) 0 var(--space-2)}.row{border-bottom:var(--hairline)}.row--past{opacity:.45}.row--future{opacity:.72}.row--current{opacity:1}.row--current .row-head{background:color-mix(in srgb,var(--brass) 8%,transparent)}.row-head{display:grid;grid-template-columns:1.4em 3.6em 1fr auto auto;align-items:center;gap:var(--space-2);width:100%;text-align:left;background:transparent;border:none;color:inherit;padding:var(--space-2) var(--space-1)}.row-glyph{font-size:var(--step-0)}.row-time{font-size:var(--step--1)}.row-title{font-size:var(--step-0)}.row-stop{font-size:var(--step--1)}.row-check{color:var(--verdigris);font-weight:600}.row--done .row-title{color:var(--verdigris)}.row-detail{padding:var(--space-2) var(--space-4) var(--space-4) 3.5em;display:flex;flex-direction:column;gap:var(--space-2)}.row-donow{margin:0}.row-evidence{font-family:var(--font-display);font-size:var(--step-0);color:var(--ink-soft);border-left:2px solid var(--brass);padding-left:var(--space-3);margin:var(--space-1) 0}.row-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.forbidden-band{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-1);border-bottom:var(--hairline)}.forbidden-hatch{flex:1;height:12px;background-image:repeating-linear-gradient(45deg,var(--ash),var(--ash) 1px,transparent 1px,transparent 6px);opacity:.5}.forbidden-label{font-size:var(--step--1);white-space:nowrap}.month-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.month-name-ar{font-family:var(--font-display);font-size:var(--step-3)}.hijri-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.hijri-weekday{text-align:center;font-size:var(--step--1);color:var(--ink-soft);letter-spacing:.1em;padding-bottom:var(--space-1)}.hijri-cell{aspect-ratio:1;border:var(--hairline);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;color:inherit;position:relative;padding:0}.hijri-cell.is-today{border-color:var(--brass);border-width:2px}.hijri-cell .h-day{font-family:var(--font-display);font-size:var(--step-1)}.hijri-cell .g-day{font-size:.7rem;color:var(--ink-soft)}.hijri-cell .ring{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;pointer-events:none}.ring--fast{border:2px solid var(--verdigris)}.ring--forbidden{border:2px solid var(--madder)}.ring--forbidden:after{content:"";position:absolute;top:40%;right:10%;bottom:40%;left:10%;border-top:2px solid var(--madder);transform:rotate(-20deg)}.completion-arc{position:absolute;bottom:3px;height:3px;background:var(--verdigris);border-radius:2px}.weekgrid{display:grid;grid-template-columns:repeat(52,1fr);gap:2px;max-width:780px;margin:var(--space-6) 0}.week-dot{aspect-ratio:1;border-radius:50%}.week-lived{background:var(--lapis)}.week-remaining{border:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}.week-ramadan{outline:1px solid var(--brass)}.lifetime-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-top:var(--space-8);text-align:center}.lifetime-numbers .n{font-family:var(--font-data);font-size:var(--step-4);line-height:1}.lifetime-numbers .l{font-size:var(--step--1);letter-spacing:.14em;color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:var(--space-6);max-width:640px}.settings-group{border-top:var(--hairline);padding-top:var(--space-4)}.settings-group h2{font-size:var(--step-1);margin-bottom:var(--space-3)}.steppers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.stepper{display:flex;align-items:center;gap:var(--space-2);justify-content:space-between;border:var(--hairline);padding:var(--space-1) var(--space-2);border-radius:var(--radius)}.stepper button{min-height:36px;width:36px;border:var(--hairline-strong);background:transparent;color:inherit;border-radius:var(--radius)}.toggle-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0}.toggle-row input{width:auto;min-height:auto;margin-top:4px}.auth-wrap{max-width:420px;margin:var(--space-16) auto}.center-narrow{max-width:720px;margin:0 auto}@media (min-width: 1025px){.today-grid{grid-template-columns:380px 1fr;align-items:start}.today-left{position:sticky;top:84px}}@media (min-width: 641px) and (max-width: 1024px){.today-right{max-width:60ch;margin:0 auto}}
