/* رصد — الطبقات الثابتة: الشريط العلوي، والرأس الكحلي، ومسطرة اليوم، والمرسى (الأقسام 7.1–7.3، 7.7). القيم من النموذج v4. */

/* ---------- الشريط العلوي ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;display:flex;align-items:center;gap:12px;margin:0 -18px;padding:12px 18px;transition:background .35s var(--ease),box-shadow .35s var(--ease),padding .35s var(--ease)}
.top::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:linear-gradient(to left,transparent,rgba(201,162,39,.6),transparent);opacity:0;transition:opacity .35s var(--ease)}
body.scrolled .top{padding-top:8px;padding-bottom:8px;background:color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 10px 30px -18px rgba(20,40,75,.35)}
body.scrolled .top::after{opacity:1}
.top .sp{flex:1}
.brand{display:flex;align-items:center;gap:11px}
.crest{position:relative;width:44px;height:44px;border-radius:50%;padding:2px;flex:none;transition:width .35s var(--ease),height .35s var(--ease)}
.crest::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 90deg,var(--gold),var(--gold-2),var(--gold),#9C7B14,var(--gold))}
.crest span{position:relative;width:100%;height:100%;border-radius:50%;background:#FFFFFF;display:grid;place-items:center;overflow:hidden}
.crest img{width:100%;height:100%;object-fit:contain;display:block}
body.scrolled .crest{width:36px;height:36px}
.word{position:relative;display:flex;flex-direction:column}
.word b{font-size:1.4375rem;font-weight:700;letter-spacing:-.3px;line-height:1.1;display:flex;align-items:center;gap:4px}
.word b i{width:7px;height:7px;border-radius:50%;background:var(--gold);display:inline-block;margin-top:6px;box-shadow:0 0 0 0 rgba(201,162,39,.5);animation:glint 3.5s var(--ease) 2s infinite}
@keyframes glint{0%,70%,100%{box-shadow:0 0 0 0 rgba(201,162,39,0)}80%{box-shadow:0 0 0 6px rgba(201,162,39,.22)}}
.word .ul{height:2px;border-radius:2px;margin-top:3px;background:linear-gradient(to left,var(--gold),transparent);transform-origin:right;width:100%}
.word small{font-size:.875rem;color:var(--ink-3);margin-top:2px;white-space:nowrap;transition:opacity .3s,height .3s}
body.scrolled .word small{opacity:0;height:0;margin:0}
.me{display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border-radius:999px;background:var(--inset);opacity:0;transform:translateY(-6px) scale(.96);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
body.past-hero .me{opacity:1;transform:none;pointer-events:auto}
.me .mav{width:30px;height:30px;border-radius:50%;padding:2px;background:conic-gradient(var(--gold),var(--gold-2),var(--gold))}
.me .mav span{width:100%;height:100%;border-radius:50%;background:#12264A;color:#F1D77A;display:grid;place-items:center;font-size:.8125rem;font-weight:600}
.me b{font-size:.8125rem;font-weight:600}
.clock{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--ink-2);background:var(--inset);padding:7px 11px;border-radius:11px}
.clock .ic{width:16px;height:16px;color:var(--gold-ink)}
@media(max-width:560px){.clock{display:none}.me b{display:none}.me{padding:4px}}
@media(max-width:480px){.word small{display:none}.top{gap:6px}}
@media(max-width:400px){.word .ul{display:none}}
.iconbtn{position:relative;width:44px;height:44px;border-radius:12px;border:0;background:var(--inset);display:grid;place-items:center;color:var(--ink-2);transition:transform .14s var(--ease),background .2s}
.iconbtn:hover{background:var(--blue-tint);color:var(--blue)}
.iconbtn:active{transform:scale(.95)}
.iconbtn.ringing .ic{animation:bell 3.2s var(--ease) 2.4s 2}
@keyframes bell{0%,40%,100%{transform:rotate(0)}5%{transform:rotate(14deg)}10%{transform:rotate(-12deg)}15%{transform:rotate(8deg)}20%{transform:rotate(-4deg)}}
.cnt{position:absolute;top:-4px;left:-4px;min-width:1.25rem;height:1.25rem;padding:0 5px;border-radius:10px;background:var(--seal);color:var(--on-seal,#fff);font-size:.8125rem;font-weight:600;display:grid;place-items:center;box-shadow:0 0 0 2px var(--page);animation:pop .6s var(--ease) 1.4s both}
/* زرّا «حجم الخط» و«تسجيل الخروج»: قائمة منبثقة صغيرة تحت الزر */
.tb-item{position:relative}
.pop{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:150px;padding:6px;border-radius:14px;background:var(--card);box-shadow:var(--lift);display:none}
.pop.open{display:block}
.pop p{margin:4px 8px 6px;font-size:.875rem;font-weight:600;color:var(--ink)}
.pop button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:10px;background:none;font-size:.9375rem;color:var(--ink);text-align:right}
.pop button:hover{background:var(--inset)}
.pop button[aria-checked="true"]{background:var(--blue-tint);color:var(--blue);font-weight:600}
.pop button[aria-checked="true"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
.pop .row{display:flex;gap:6px}
.pop .row button{justify-content:center}
.pop .danger{background:var(--seal);color:var(--on-seal,#fff);font-weight:600}
.pop .danger:hover{background:var(--seal);opacity:.9}

/* ---------- الرأس الكحلي ---------- */
.hero{position:relative;overflow:hidden;border-radius:26px;padding:26px 22px 22px;color:#fff;background:radial-gradient(130% 150% at 88% -20%,#2D57A0 0%,#1E3C72 34%,#132A52 64%,#0B1830 100%);box-shadow:0 0 0 1px rgba(241,215,122,.14),inset 0 1px 0 rgba(255,255,255,.08),0 24px 48px -22px rgba(11,24,48,.65);isolation:isolate}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to left,transparent,rgba(241,215,122,.55),transparent)}
.hero :focus-visible{outline-color:#F1D77A}
.hero .wash{position:absolute;inset:0;z-index:-3;background:var(--sky,none)}
.hero svg.pat{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);z-index:-2;color:#F1D77A;opacity:.07;-webkit-mask-image:linear-gradient(to bottom,#000 5%,transparent 80%);mask-image:linear-gradient(to bottom,#000 5%,transparent 80%)}
.hero svg.pat g{animation:drift 70s linear infinite}
@keyframes drift{to{transform:translate(-80px,40px)}}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.seal-star{position:absolute;left:-46px;top:-46px;width:230px;height:230px;z-index:-1;color:#F1D77A;opacity:.5}
.seal-star g{transform-origin:115px 115px;animation:spin 140s linear infinite}
.seal-star path,.seal-star circle{fill:none;stroke:currentColor;stroke-width:1.1;stroke-dasharray:900;stroke-dashoffset:900}
.hero-row{display:flex;align-items:center;gap:16px}
.av{position:relative;flex:none;width:72px;height:72px;border-radius:50%;padding:3px}
.av::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--gold),var(--gold-2),var(--gold),#9C7B14,var(--gold));animation:spin 9s linear infinite}
.av span{position:relative;width:100%;height:100%;border-radius:50%;background:#12264A;display:grid;place-items:center;font-size:1.4375rem;font-weight:600;color:#F1D77A}
.dates{font-size:.875rem;color:rgba(255,255,255,.62);margin:0}
.hello{font-size:clamp(1.4375rem,calc(5.6vw * var(--ts,1)),1.9375rem);font-weight:600;letter-spacing:-.4px;margin:2px 0 0;line-height:1.3}
.hello .w{display:inline-block}
.role{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:.8125rem;font-weight:500;color:#F1D77A;background:rgba(201,162,39,.14);box-shadow:inset 0 0 0 1px rgba(241,215,122,.32);padding:3px 11px;border-radius:999px}
.role .ic{width:14px;height:14px}
/* الصفحات الداخلية: الرأس نفسه دون التحية والمسطرة، بأيقونة الصفحة وعنوانها */
.hero.inner .tile{background:rgba(201,162,39,.14);color:#F1D77A;box-shadow:inset 0 0 0 1px rgba(241,215,122,.32)}
.hero.inner .dates{margin-top:2px}

/* ---------- مسطرة اليوم ---------- */
.ruler{margin-top:24px}
.ruler-h{display:flex;justify-content:space-between;align-items:baseline;font-size:.875rem;color:rgba(255,255,255,.6);margin-bottom:10px}
.ruler-h b{font-size:.875rem;color:#fff;font-weight:600}
/* --y موضع الخط. عند وجود تسميات مرفوعة فوق الخط (منع التراكب) يزيد الارتفاع وينزل الخط */
.track{position:relative;height:4.75rem;--y:1.5rem}
.track.has-up{height:6.875rem;--y:3.625rem}
.track .base{position:absolute;top:var(--y);left:0;right:0;height:3px;border-radius:3px;background:rgba(255,255,255,.14)}
.track .done{position:absolute;top:var(--y);right:0;height:3px;border-radius:3px;background:linear-gradient(to left,#8FB0EC,#F1D77A 75%,#C9A227);box-shadow:0 0 12px rgba(241,215,122,.45);transform-origin:right center}
.track .done::after{content:"";position:absolute;inset:-3px 0;background:linear-gradient(to left,transparent,rgba(255,255,255,.85),transparent);width:60px;animation:sweep 3.5s var(--ease) infinite;border-radius:3px}
@keyframes sweep{0%{transform:translateX(0);opacity:0}20%{opacity:1}100%{transform:translateX(-600px);opacity:0}}
.mk{position:absolute;top:calc(var(--y) - 8px);transform:translateX(50%);display:flex;flex-direction:column;align-items:center;gap:6px;width:5.25rem}
.mk i{width:19px;height:19px;border-radius:50%;background:#12264A;border:2px solid rgba(255,255,255,.3);display:block;transition:transform .2s var(--ease)}
.mk:hover i{transform:scale(1.25)}
.mk.past i{border-color:#8FB0EC;background:#8FB0EC}
.mk.duty i{border-color:#F1D77A;background:#12264A}
.mk.duty.past i{background:#F1D77A;box-shadow:0 0 10px rgba(241,215,122,.6)}
.mk span{font-size:.8125rem;color:rgba(255,255,255,.88);text-align:center;line-height:1.35}
.mk em{font-style:normal;display:block;color:rgba(255,255,255,.52);font-size:.8125rem}
/* نقاط الطرفين: النقطة تبقى على وقتها، والتسمية تمتد نحو الداخل (9.5px = نصف النقطة) */
.mk.edge-s{transform:translateX(9.5px);align-items:flex-start}
.mk.edge-s span{text-align:right}
.mk.edge-e{transform:translateX(calc(100% - 9.5px));align-items:flex-end}
.mk.edge-e span{text-align:left}
/* تسمية مرفوعة فوق الخط حين تقترب من جارتها أفقياً */
.mk.up{top:auto;bottom:calc(100% - var(--y) - 11px);flex-direction:column-reverse}
/* الفترات: شريط ممتد بين وقتين؛ التسمية في منتصفه بلا نقطة */
.iv{position:absolute;top:calc(var(--y) - 1px);height:5px;border-radius:3px;background:rgba(143,176,236,.45)}
.iv.duty{background:rgba(241,215,122,.55);box-shadow:inset 0 0 0 1px #F1D77A}
.iv.duty.past{background:#F1D77A;box-shadow:0 0 10px rgba(241,215,122,.6)}
.iv.break.past{background:#8FB0EC}
.mk.iv-l i{visibility:hidden}
.now{position:absolute;top:calc(var(--y) - 20px);transform:translateX(50%);display:flex;flex-direction:column;align-items:center}
.now b{font-size:.8125rem;font-weight:600;color:#0B1830;background:#fff;padding:1px 8px;border-radius:999px;white-space:nowrap}
.now i{width:2px;height:28px;background:#fff;border-radius:2px;margin-top:2px}
.now i::after{content:"";display:block;width:10px;height:10px;border-radius:50%;background:#fff;margin:21px 0 0 -4px;animation:pulse 2s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}80%,100%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}

/* ---------- المرسى العائم ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none}
.dock nav{position:relative;pointer-events:auto;display:flex;gap:2px;width:100%;max-width:520px;padding:7px;border-radius:24px;background:color-mix(in srgb,var(--card) 84%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 0 0 1px var(--line),0 12px 32px -10px rgba(20,40,75,.3)}
.dock .ind{position:absolute;left:0;top:7px;bottom:7px;border-radius:17px;background:var(--blue-tint);transition:transform .45s var(--ease),width .45s var(--ease)}
.dock .ind::before{content:"";position:absolute;top:-4px;left:50%;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--gold)}
.dock a{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 6px;border-radius:17px;font-size:max(13px,min(.8125rem,4vw));font-weight:500;color:var(--ink-3);transition:color .25s var(--ease)}
.dock a .ic{width:24px;height:24px;transition:transform .35s var(--ease)}
.dock a.on{color:var(--blue)}
.dock a.on .ic{transform:translateY(-2px) scale(1.08);--ic-d:.3}
.dock .bdg{position:absolute;top:2px;left:calc(50% - 23px);min-width:1.25rem;height:1.25rem;padding:0 5px;border-radius:10px;background:var(--seal);color:var(--on-seal,#fff);font-size:.8125rem;font-weight:600;display:grid;place-items:center;box-shadow:0 0 0 2px var(--card);animation:pop .6s var(--ease) 1.6s both}
