/* عناصر مشتركة بين كل الصفحات: زر الثيم، الفوتر، الإشعارات، الأداء */
.tt{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;flex:none;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:var(--ink);cursor:pointer;transition:transform .25s,border-color .2s,background .2s}
.tt svg{width:18px;height:18px}
.tt:hover{transform:rotate(20deg) scale(1.07);border-color:var(--sig)}
html[data-theme=dark] .tt .i-moon,html[data-theme=light] .tt .i-sun{display:none}
html.tm *,html.tm *:before,html.tm *:after{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s!important}
header .hb{background:var(--grad);color:#fff;text-decoration:none;font-size:15px;padding:7px 16px;border-radius:10px;transition:transform .2s}
header .hb:hover{transform:translateY(-2px)}
nav a[aria-current=page]{color:var(--ink)}nav a[aria-current=page]:after{transform:scaleX(1)}

/* الفوتر الموحّد */
footer.sf{display:block;margin-top:70px;padding:44px 0 26px;border-top:1px solid var(--line);color:var(--mute);font-size:14px;position:relative}
.sfi{max-width:1040px;margin:0 auto;padding:0 20px}.wrap .sfi{padding:0;max-width:none}
.sfg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}
.sfl{display:inline-block;font:700 24px var(--f);color:var(--ink)!important;margin-bottom:6px}
.sfb p{margin:0;max-width:26em;line-height:1.8}
.sf h4{margin:0 0 10px;font:700 14px var(--f);color:var(--ink)}
.sf a{display:block;color:var(--mute);text-decoration:none;padding:3px 0;transition:color .2s,transform .2s}
.sf a:hover{color:var(--sig);transform:translateX(-3px)}
.sfz{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.sst{display:inline-flex;align-items:center;gap:7px;margin-inline-start:auto;font-size:13px}
.sst i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint)}
.sst.off i{background:var(--amb);box-shadow:0 0 8px var(--amb)}
.sst em{font-style:normal;direction:ltr;unicode-bidi:plaintext}
.up{border:1px solid var(--line);background:var(--glass);color:var(--mute);border-radius:10px;padding:5px 14px;font:inherit;font-size:13px;cursor:pointer;transition:transform .2s,color .2s,border-color .2s}
.up:hover{color:var(--ink);border-color:var(--sig);transform:translateY(-2px)}
.sst[hidden]+.up{margin-inline-start:auto}
@media(max-width:760px){.sfg{grid-template-columns:1fr 1fr}.sfb{grid-column:1/-1}}

/* إشعارات مشتركة */
#toasts,.toasts{position:fixed;inset-inline:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:99}
.ts{pointer-events:auto;display:flex;gap:12px;align-items:center;background:var(--hero);color:var(--herot);padding:10px 18px;border-radius:12px;box-shadow:0 18px 40px #0008;border:1px solid #ffffff1a;max-width:min(92vw,460px);animation:tsi .25s both;transition:opacity .3s,transform .3s}
.ts.err{background:var(--err);color:#fff}.ts.out{opacity:0;transform:translateY(8px)}
.ts button{border:0;border-radius:8px;padding:3px 12px;background:var(--grad);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
@keyframes tsi{from{opacity:0;transform:translateY(12px)}}

/* أداء: أوقف الحركة خارج الشاشة */
.paused,.paused *,.paused:before,.paused *:before,.paused *:after{animation-play-state:paused!important}
/* تحليل الأداء: أضف ?perf إلى الرابط */
#perf{position:fixed;inset:auto auto 8px 8px;z-index:200;background:#000d;color:#9EF;font:11px/1.5 ui-monospace,Menlo,Consolas,monospace;padding:8px 10px;border-radius:8px;direction:ltr;text-align:left;pointer-events:none;white-space:pre}
#perf b{color:#fff}#perf .bad{color:#FF8A80}#perf .ok{color:#7CFFB2}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
