:root{--accent:#ff8f1f;--text:#000;--muted:#f4f4f4;--surface:#fff;--line:#fff;--secondary:#626262;--border:#d6d6d6;--grid-gap:4px;--n:#020260;color-scheme:light}
:root[data-theme="dark"]{--text:#f5f5f5;--muted:#222;--surface:#141414;--line:#141414;--secondary:#b6b6b6;--border:#494949;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text);font-family:"Vazirmatn",sans-serif;font-weight:350;line-height:1.7} [lang="en"],.brand{font-family:"Comfortaa",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,input,select{border:1px solid var(--border);border-radius:4px;background:var(--surface);padding:8px 10px;min-height:44px;max-width:100%}input,select{width:100%;min-width:0}button:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,p{margin:0}h1{font-size:26px;font-weight:450}h2{font-size:16px;font-weight:450}main{width:min(100% - 32px,920px);margin:28px auto 40px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;direction:ltr;margin-bottom:20px}.brand{font-size:18px}.brand span{color:var(--secondary)}#themeToggle{font-family:"Vazirmatn",sans-serif;font-size:13px;min-width:90px}.today,.tool{background:var(--muted);padding:16px 18px;margin-top:var(--grid-gap)}.today h1{margin-bottom:8px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title>span{color:var(--secondary);font-size:12px}#todayFa{font-size:clamp(16px,2.5vw,22px)}#todayEn{font-size:clamp(11px,1.7vw,14px);margin-top:6px;line-height:1.9}.caption{font-size:12px;color:var(--secondary);line-height:1.9}.composition{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);margin-top:var(--grid-gap)}.timestamp-panel,.clock-panel{background:var(--muted);padding:20px 24px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:22px;flex-wrap:wrap}.panel-heading h2{font-size:14px}.mark{direction:ltr;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:1.42%;width:min(82%,320px);aspect-ratio:1;margin:auto}.c{width:100%;height:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:4px}.v{cursor:pointer}.v:focus-visible{outline-offset:1px;outline-width:3px}.fixed{background:var(--n)}.stamp-reading{margin-top:20px;text-align:center}.time{font-family:"Comfortaa",sans-serif;font-size:clamp(15px,2.1vw,21px);font-variant-numeric:tabular-nums}.stamp-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11px;color:var(--secondary);overflow-wrap:anywhere}.clock-panel{display:flex;flex-direction:column;align-items:center}.clock-panel>.panel-heading{width:100%}.analog{width:min(100%,380px);height:auto;aspect-ratio:1;margin:auto 0 10px;overflow:visible}.clock-ring{fill:none;stroke:var(--border);stroke-width:1}.clock-tick{stroke:var(--secondary);stroke-width:1.6}.hand{stroke:var(--text);stroke-linecap:round}.hour{stroke-width:4}.minute{stroke-width:2.5}.second{stroke:var(--accent);stroke-width:1.2}.clock-pin{fill:var(--accent)}.device-time{font-size:24px;font-variant-numeric:tabular-nums}.controls{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.7fr) minmax(0,.8fr) auto;gap:10px;align-items:end}label{display:block;font-size:12px;margin-bottom:5px;color:var(--secondary)}.primary{background:var(--accent);color:#000;border-color:var(--accent)}#local{direction:ltr;font-family:Arial,sans-serif;font-size:14px}.decoded{display:none;border-top:1px solid var(--border);margin-top:16px;padding-top:12px;font-size:13px}.decoded button{margin-top:10px}details>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;list-style:none;font-size:16px;min-height:30px}summary::-webkit-details-marker{display:none}summary>span[lang]{font-size:12px;color:var(--secondary)}details[open]>summary{margin-bottom:16px}details[open]>summary span[aria-hidden]{display:inline-block;transform:rotate(45deg)}.calendar-inputs{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.6fr) auto;gap:10px;align-items:end}.calendar-results{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-top:10px}.result{min-width:0;padding:12px;background:var(--surface)}.result h3{margin:0 0 5px;font-size:12px;font-weight:400;color:var(--secondary)}.result p{font-size:15px}.result p[lang]{font-size:11px;margin-top:6px;line-height:1.9}.error{color:#b02500;font-size:13px;margin:8px 0}.error:empty{display:none}:root[data-theme="dark"] .error{color:#ffb88f}.tech{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);margin-bottom:14px}.box{background:var(--surface);padding:10px;font-size:12px}.box b{display:block;direction:ltr;overflow-wrap:anywhere;font-weight:450}.digits{grid-column:1/-1}.technical-notes{display:grid;gap:8px;margin-top:14px;color:var(--secondary);font-size:12px;line-height:1.9}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:20px 2px;font-size:12px;color:var(--secondary)}footer a:hover{color:var(--text)}dialog{width:min(680px,calc(100% - 28px));max-height:85vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:22px}dialog::backdrop{background:#0008}.help{font-size:14px;line-height:1.9}.help p{margin-top:12px}.help code{display:block;direction:ltr;overflow-wrap:anywhere;background:var(--muted);padding:10px;margin:12px 0;font-size:12px}.close{float:left;margin:0 12px 12px 0}dialog h2{padding-top:8px}
@media(max-width:640px){main{width:calc(100% - 24px);margin-top:18px}.today,.tool{padding:16px}.section-title{align-items:baseline}.section-title>span{font-size:10px}.composition{grid-template-columns:minmax(0,1fr)}.timestamp-panel,.clock-panel{padding:18px}.clock-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px}.clock-panel>.panel-heading{grid-column:1/-1;margin-bottom:10px}.analog{grid-column:1;grid-row:2/4;width:150px;max-width:100%;margin:0;justify-self:center}.device-time{grid-column:2;grid-row:2;align-self:end;text-align:center;font-size:clamp(20px,6vw,26px)}#deviceZone{grid-column:2;grid-row:3;align-self:start;text-align:center;font-size:10px;overflow-wrap:anywhere}.controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.local-field{grid-column:1/-1;grid-row:2}.controls>.primary{grid-column:1/-1}.calendar-inputs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calendar-inputs>div:first-child{grid-column:1/-1}.calendar-inputs>div:nth-child(2){grid-column:1}.calendar-inputs>div:nth-child(3){grid-column:2}.calendar-inputs>button{align-self:end}.calendar-results{grid-template-columns:minmax(0,1fr)}.panel-heading h2{font-size:12px}.panel-heading .caption{font-size:11px}}

/* Keep the visible analog face larger than the timestamp at every breakpoint. */
@media(max-width:640px){.clock-panel{display:flex;flex-direction:column;align-items:center}.clock-panel>.panel-heading{margin-bottom:12px}.analog{width:min(100%,380px);margin:0 auto 12px}.device-time{align-self:center;font-size:26px}#deviceZone{align-self:center;font-size:11px}}
:root[data-theme="dark"] .mark .fixed,:root[data-theme="dark"] .mark .v[data-value="0"]{background:#fff!important}

/* Shared visual rows align the two centers and the readings beneath them. */
.timestamp-panel,.clock-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px auto 1fr;gap:12px;align-items:start}
.timestamp-panel>.panel-heading,.clock-panel>.panel-heading{margin:0;min-height:44px;grid-column:auto;align-content:center}
.timestamp-panel>.panel-heading{direction:ltr;justify-content:flex-start}.timestamp-panel>.panel-heading h2{direction:ltr;text-align:left;unicode-bidi:isolate}
.visual-stage{display:grid;place-items:center;width:min(100%,380px);aspect-ratio:1;margin-inline:auto}
.visual-stage>.analog{width:100%;max-width:100%;margin:0;grid-column:auto;grid-row:auto;justify-self:center}
.stamp-reading,.clock-reading{margin:0;text-align:center}
.time,.device-time{font-size:clamp(15px,2.1vw,22px);line-height:1.6}
.clock-reading>#deviceZone{display:block;margin-top:6px;font-size:11px;line-height:1.7}
