/* ---------- FLUID SCALE: the whole interface scales with the screen (phones → tablets → laptops → large monitors) ---------- */
:root{--fs-auto:16px}
@media (max-width:380px){:root{--fs-auto:15px}}
@media (min-width:1280px){:root{--fs-auto:clamp(16px,calc(16px + (100vw - 1280px) * .0047),26px)}}
html{font-size:calc(var(--fs-auto) * var(--uim,1));-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[data-uis="sm"]{--uim:.9}
html[data-uis="lg"]{--uim:1.12}
@media print{html{font-size:16px!important}}

:root{color-scheme:dark;--ink:#eef3f2;--soft:#93a8ac;--bg:#070d11;--surf:#0f1a20;--surf2:#152229;--line:#22323a;
--forest:#1ecf8c;--fdark:#5b9bd6;--ftint:#123024;--brass:#e0cf9c;--btint:#2a2313;--teal:#2dd4cf;--blue:#5b9bd6;--grey:#c2c1c1;
--danger:#e07a68;--radius:0.625rem;--font:'Tajawal','Segoe UI',Tahoma,sans-serif;
--glow1:#07a869;--glow2:#0da9a6;--glow3:#3d7eb9;--vignette:rgba(2,6,9,.75);--bluetint:#132433}
:root[data-theme="light"]{color-scheme:light;--ink:#15242d;--soft:#5c6b73;--bg:#f5f6f4;--surf:#fff;--surf2:#eef1ef;--line:#dde3e0;
--forest:#07a869;--fdark:#15445a;--ftint:#e3f5ec;--brass:#c1b489;--btint:#f4f0e3;--teal:#0da9a6;--blue:#3d7eb9;--grey:#c2c1c1;
--danger:#a13a2f;--vignette:rgba(255,255,255,.15);--bluetint:var(--bluetint)}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:var(--font);background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);-webkit-font-smoothing:antialiased}
button,select,input,textarea{font-family:inherit;color:inherit;font-size:0.875rem}
button{cursor:pointer}
h1,h2,h3,p{margin:0}
.fadein{animation:fadein .35s ease both}
@keyframes fadein{from{opacity:0;transform:translateY(0.375rem)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fadein{animation:none}}

/* ---------- PUBLIC HOMEPAGE ---------- */
#homepage{display:none}
.pubmast{border-bottom:1px solid var(--line);background:var(--surf);position:sticky;top:0;z-index:30}
.pubmast-in{max-width:65rem;margin:0 auto;padding:0.8125rem 1.125rem;display:flex;align-items:center;gap:0.625rem}
.moe-badge{background:var(--ftint);color:var(--fdark);font-size:0.6562rem;font-weight:700;padding:0.1875rem 0.625rem;border-radius:6.1875rem}
.pubmast-in b{font-size:0.9062rem;font-weight:800}




.letterbox{height:clamp(0.625rem,2.4vw,1.375rem);background:#000;flex:none}
.hero{background:
    radial-gradient(ellipse 70% 60% at 50% 0%, rgba(13,169,166,.35), transparent 65%),
    radial-gradient(ellipse 60% 50% at 85% 100%, rgba(61,126,185,.3), transparent 60%),
    linear-gradient(180deg,#040a0d 0%,#071218 55%,#050c10 100%);
  color:#f3f7f6;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 120% 90% at 50% 45%,transparent 45%,var(--vignette) 100%);pointer-events:none}
.hero-glow{position:absolute;inset:-20%;background:conic-gradient(from 0deg at 50% 50%,var(--glow1),var(--glow2),var(--glow3),var(--glow1));opacity:.14;filter:blur(3.75rem);animation:heroSpin 26s linear infinite}
.hero-dots{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(#fff 1.4px,transparent 1.4px);background-size:1.25rem 1.25rem}
.hero-in{position:relative;z-index:2;max-width:65rem;margin:0 auto;padding:4rem 1.25rem 4.375rem;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:0.4375rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(0.1875rem);border-radius:6.1875rem;padding:0.3125rem 0.9375rem;font-size:0.6875rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.375rem;color:#dff3ee}
.hero-badge::before{content:'';width:0.375rem;height:0.375rem;border-radius:6.1875rem;background:var(--glow1);box-shadow:0 0 0.5rem 1px var(--glow1)}
.hero h1{font-size:clamp(2rem,6vw,3.375rem);font-weight:900;margin-bottom:1rem;letter-spacing:-.5px;text-shadow:0 2px 2.5rem rgba(13,169,166,.3)}
.hero-rule{width:4rem;height:0.1875rem;margin:0 auto 1.25rem;border-radius:6.1875rem;background:linear-gradient(90deg,var(--glow1),var(--glow3))}
.hero p{max-width:35rem;margin:0 auto;font-size:0.9688rem;line-height:1.95;color:#c7d8d6}
@keyframes heroSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.hero-glow{animation:none}}

.stats{max-width:65rem;margin:1.75rem auto 0;padding:0 1.25rem;position:relative;z-index:5}
.letterbox + .stats,.hero-simple + .stats{margin-top:-1.875rem}
.stats-in{background:var(--surf);border:1px solid var(--line);border-radius:0.875rem;box-shadow:0 1.25rem 3.125rem -1.375rem rgba(0,0,0,.6);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.stat{padding:1.125rem 0.625rem;text-align:center;border-inline-end:1px solid var(--line)}
.stat:last-child{border-inline-end:0}
.stat b{display:block;font-size:1.3125rem;color:var(--teal);font-weight:900;text-shadow:0 0 1.125rem rgba(45,212,207,.25)}
.stat span{font-size:0.6875rem;color:var(--soft)}

.wrap{max-width:65rem;margin:0 auto;padding:3.125rem 1.25rem}
.sechead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.125rem}
.sechead h2{font-size:1.1875rem;font-weight:800;position:relative;padding-inline-start:0.875rem}
.sechead h2::before{content:'';position:absolute;inset-inline-start:0;top:0.1875rem;bottom:0.1875rem;width:0.1875rem;border-radius:6.1875rem;background:linear-gradient(180deg,var(--glow1),var(--glow3))}
.sechead span{font-size:0.75rem;color:var(--soft)}

.reveal{opacity:0;transform:translateY(1.375rem);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem}
.vcard{background:var(--surf);border:1px solid var(--line);border-radius:0.75rem;padding:1.125rem;transition:border-color .2s,box-shadow .2s,transform .2s}
.vcard:hover{transform:translateY(-0.1875rem);box-shadow:0 1rem 1.875rem -1.125rem rgba(0,0,0,.55)}
.vcard i{width:2.125rem;height:2.125rem;border-radius:0.5625rem;display:flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:0.625rem}
.vcard.v1 i{background:var(--ftint);color:var(--forest)}
.vcard.v1:hover{border-color:var(--forest)}
.vcard.v2 i{background:var(--bluetint);color:var(--blue)}
.vcard.v2:hover{border-color:var(--blue)}
.vcard.v3 i{background:var(--btint);color:var(--brass)}
.vcard.v3:hover{border-color:var(--brass)}
.vcard b{display:block;font-size:0.8438rem;margin-bottom:0.3125rem}
.vcard p{font-size:0.7812rem;color:var(--soft);line-height:1.8}

.feedgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.375rem,1fr));gap:0.875rem}
.fcard{background:var(--surf);border:1px solid var(--line);border-radius:0.75rem;padding:1rem;cursor:pointer;text-align:start;display:block;width:100%;transition:border-color .2s,transform .2s,box-shadow .2s}
.fcard:hover{border-color:var(--teal);transform:translateY(-0.1875rem);box-shadow:0 1rem 2.125rem -1.125rem rgba(13,169,166,.35)}
.fcard .fcat{display:inline-block;font-size:0.6562rem;font-weight:700;padding:2px 0.625rem;border-radius:6.1875rem}
.fcard b{display:block;margin:0.625rem 0 0.3125rem;font-size:0.9062rem;line-height:1.5}
.fcard small{color:var(--soft);font-size:0.7188rem}
.empty{color:var(--soft);font-size:0.8125rem;padding:1.875rem;text-align:center;grid-column:1/-1;background:var(--surf);border:1px dashed var(--line);border-radius:0.75rem}

.pubfooter{border-top:1px solid var(--line);padding:1.375rem 1.25rem;text-align:center;color:var(--soft);font-size:0.75rem}
.pubfooter .moe-line{font-size:0.6875rem;margin-top:0.25rem;opacity:.8}

/* ---------- LOGIN OVERLAY ---------- */
.ovl{position:fixed;inset:0;background:rgba(10,15,13,.55);display:none;align-items:center;justify-content:center;z-index:200;padding:1rem}
.ovl.show{display:flex}
.ovlcard{background:var(--surf);border-radius:0.875rem;padding:1.5rem;width:18.75rem;box-shadow:0 1.25rem 3.125rem -1.25rem rgba(0,0,0,.4)}
.ovlcard h3{margin:0 0 0.25rem;font-size:1rem;font-weight:800}
.ovlcard p{font-size:0.75rem;color:var(--soft);margin-bottom:0.875rem}
.ovlcard input{width:100%;border:1px solid var(--line);border-radius:0.5rem;padding:0.5625rem 0.625rem;background:var(--bg);margin-bottom:0.5rem}
.pwerr{color:var(--danger);font-size:0.7188rem;min-height:1rem}
.prow2{display:flex;gap:0.5rem;justify-content:flex-end;margin-top:0.5rem}
.btn{border:1px solid var(--line);background:var(--surf);border-radius:0.5rem;padding:0.4375rem 0.8125rem;font-weight:700;font-size:0.7812rem}
.btn.primary{background:var(--forest);border-color:var(--forest);color:#fff}

/* ---------- DASHBOARD SHELL ---------- */
.shell{display:flex;min-height:100vh}
.side{width:16.25rem;flex:none;background:var(--surf);border-inline-start:1px solid var(--line);overflow-y:auto;max-height:100vh;position:sticky;top:0}
.side-head{padding:1rem 0.875rem;border-bottom:1px solid var(--line)}
.side-head b{display:block;font-size:0.9062rem;font-weight:800}
.side-head span{font-size:0.7188rem;color:var(--soft)}
.grp{border-bottom:1px solid var(--line)}
.grp>button{width:100%;text-align:start;background:none;border:0;padding:0.6875rem 0.875rem;font-weight:700;font-size:0.8125rem;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.grp>button:hover{background:var(--surf2)}
.grp .chev{transition:transform .15s;font-size:0.6875rem;color:var(--soft)}
.grp.open .chev{transform:rotate(90deg)}
.grp .kids{display:none;padding-bottom:0.375rem}
.grp.open .kids{display:block}
.kid{display:block;width:100%;text-align:start;background:none;border:0;padding:0.5rem 0.875rem 0.5rem 1.875rem;font-size:0.7812rem;color:var(--soft)}
.kid:hover{color:var(--ink)}
.kid.active{color:var(--fdark);font-weight:700;background:var(--ftint)}
.main{flex:1;min-width:0;--mpad:clamp(0.75rem,3vw,1.625rem);padding:1.125rem var(--mpad) 3.75rem}
.crumb{font-size:0.75rem;color:var(--soft);margin-bottom:0.625rem}
.crumb b{color:var(--ink)}
.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.lhead{display:flex;flex-wrap:wrap;gap:0.625rem;align-items:center;justify-content:space-between;margin-bottom:0.875rem}
.lhead h2{margin:0;font-size:1.0625rem}
.counts{display:flex;gap:0.5rem;font-size:0.7188rem}
.pill{background:var(--surf2);border-radius:6.1875rem;padding:0.1875rem 0.625rem;font-weight:700}
.pill.pub{background:var(--ftint);color:var(--fdark)}
.pill.draft{background:var(--btint);color:var(--brass)}
.tools{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center}
.tools input,.tools select{border:1px solid var(--line);border-radius:0.5rem;padding:0.375rem 0.5625rem;background:var(--bg)}
.btn.danger:hover{border-color:var(--danger);color:var(--danger)}
.row{display:flex;gap:0.625rem;align-items:center;padding:0.625rem 0.375rem;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .ttl{flex:1;min-width:0}
.row .ttl b{display:block;font-size:0.8438rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .ttl small{color:var(--soft);font-size:0.6875rem}
.status{font-size:0.6875rem;font-weight:700;border-radius:6.1875rem;padding:0.1875rem 0.5625rem;flex:none}
.status.published{background:var(--ftint);color:var(--fdark)}
.status.draft{background:var(--btint);color:var(--brass)}
.status.hidden{background:var(--surf2);color:var(--soft)}
.acts{display:flex;gap:0.3125rem;flex:none}
.acts button{border:0;background:var(--surf2);border-radius:0.375rem;width:1.625rem;height:1.625rem;font-size:0.75rem}
.acts button:hover{background:var(--line)}
.field{margin-bottom:0.75rem}
.field label{display:block;font-size:0.75rem;font-weight:700;color:var(--soft);margin-bottom:0.25rem}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.625rem;background:var(--bg)}
.field textarea{min-height:4.375rem;resize:vertical}
.hijri{font-size:0.6875rem;color:var(--soft);margin-top:0.1875rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:880px){.split{grid-template-columns:1fr}.side{position:fixed;inset-inline-start:0;top:0;bottom:0;z-index:50;transform:translateX(100%);transition:transform .2s}.side.open{transform:translateX(0)}}
.pv{background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:1.125rem;position:sticky;top:1rem}
.pv h3{margin:0 0 0.25rem;font-size:1.125rem}
.pv .dates{font-size:0.7188rem;color:var(--soft);margin-bottom:0.75rem}
.pv .st{display:inline-block;margin-bottom:0.75rem}
.pv dl{margin:0}
.pv dt{font-size:0.6875rem;font-weight:700;color:var(--soft);margin-top:0.625rem}
.pv dd{margin:2px 0 0;font-size:0.8438rem;white-space:pre-wrap}
.formbar{display:flex;justify-content:space-between;margin-bottom:0.875rem;gap:0.5rem;flex-wrap:wrap}
.menubtn{display:none;border:1px solid var(--line);background:var(--surf);border-radius:0.5rem;padding:0.5rem 0.75rem;font-weight:700}
@media (max-width:880px){.menubtn{display:inline-block}}
.note{font-size:0.75rem;color:var(--soft);background:var(--surf2);border-radius:0.5rem;padding:0.625rem 0.75rem;margin-bottom:0.75rem}
.ph{text-align:center;padding:3.75rem 1.25rem;color:var(--soft)}
.ph b{display:block;font-size:1rem;color:var(--ink);margin-bottom:0.375rem}
.shell.pubmode .side{display:none}
.shell.pubmode .menubtn{display:none}
.shell.pubmode .crumb{display:none}
.pubbar{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin:-1.125rem calc(var(--mpad) * -1) 1.125rem;padding:0.875rem var(--mpad);border-bottom:1px solid var(--line);background:var(--surf)}
.pubbrand{font-weight:800;font-size:0.8438rem;color:var(--fdark)}
.draftband{background:var(--btint);color:var(--brass);text-align:center;font-size:0.7812rem;font-weight:700;padding:0.5rem;margin-bottom:1.125rem;border-radius:0.5rem}
.pubpage{max-width:42.5rem;margin:0 auto 1.875rem;background:var(--surf);border:1px solid var(--line);border-radius:0.75rem;overflow:hidden}
.pubtop{height:0.375rem;background:linear-gradient(90deg,var(--forest),var(--teal),var(--blue))}
.pubhead{padding:1.625rem 1.875rem 1.125rem;border-bottom:1px solid var(--line)}
.pubcat{display:inline-block;background:var(--ftint);color:var(--fdark);font-size:0.7188rem;font-weight:700;padding:0.1875rem 0.6875rem;border-radius:6.1875rem;margin-bottom:0.625rem}
.pubhead h1{margin:0 0 0.5rem;font-size:1.4375rem}
.pubdates{color:var(--soft);font-size:0.7812rem}
.pubbody{padding:1.375rem 1.875rem}
.pf{margin-bottom:1rem}
.pf b{display:block;font-size:0.7188rem;color:var(--soft);font-weight:700;margin-bottom:0.25rem}
.pf span{font-size:0.9062rem;white-space:pre-wrap;line-height:1.7}
.pbar{background:var(--surf2);border-radius:6.1875rem;height:0.4375rem;margin-top:0.375rem;overflow:hidden}
.pbar i{display:block;height:100%;background:var(--forest)}
.pubfoot{padding:1rem 1.875rem;border-top:1px solid var(--line);font-size:0.7188rem;color:var(--soft);text-align:center}
.linklike{background:none;border:0;color:var(--soft);font-size:0.75rem;text-decoration:underline;cursor:pointer;padding:0}
@media (max-width:700px){.vision-grid{grid-template-columns:1fr}.stats-in{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-inline-end:0}}

/* ---------- FilePreview / AttachmentViewer ---------- */
.att-manager{width:100%;max-width:100%;box-sizing:border-box}
.att-list{display:flex;flex-direction:column;gap:0.625rem;margin-top:0.625rem;width:100%;max-width:100%}
.att-card{border:1px solid var(--line);border-radius:0.75rem;overflow:hidden;background:var(--surf);width:100%;max-width:100%;box-sizing:border-box}
.att-card-head{display:flex;align-items:center;gap:0.5rem;padding:0.5625rem 0.75rem;background:var(--surf2);cursor:pointer;transition:background .15s}
.att-card-head:hover,.att-card-head:focus-visible{background:var(--ftint)}
.att-card-head:focus-visible{outline:2px solid var(--forest);outline-offset:-2px}
.att-ico{flex:none;font-size:1rem;line-height:1}
.att-name{flex:1;min-width:0;font-size:0.7812rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-meta{flex:none;font-size:0.6562rem;color:var(--soft)}
.att-expand,.att-remove{flex:none;border:0;background:transparent;width:1.625rem;height:1.625rem;border-radius:0.375rem;font-size:0.8125rem;color:var(--soft)}
.att-expand:hover,.att-remove:hover{background:var(--line);color:var(--ink)}
.att-remove:hover{color:var(--danger)}
.att-body{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;background:var(--bg)}
.att-body img{max-width:100%;height:auto;display:block;object-fit:contain;margin:0 auto}
.att-body iframe{width:100%;max-width:100%;border:0;display:block;box-sizing:border-box}
.att-body video{width:100%;max-width:100%;display:block;background:#000}
.att-body audio{width:100%;display:block}
.att-scroll{overflow:auto;max-width:100%;box-sizing:border-box}
.att-fallback{padding:1.625rem 1rem;text-align:center}
.att-fallback .att-ico-big{font-size:1.75rem;display:block;margin-bottom:0.5rem}
.att-loading{padding:2.125rem;text-align:center;color:var(--soft);font-size:0.7812rem}
.att-session-note{font-size:0.6562rem;color:var(--brass);padding:0.375rem 0.75rem;background:var(--btint)}
.doc-render{background:#fff;color:#1a1a1a;font-size:0.8125rem;line-height:1.7}
.doc-render img{max-width:100%;height:auto}
.xls-render table{border-collapse:collapse;font-size:0.75rem}
.xls-render td,.xls-render th{border:1px solid var(--line);padding:0.25rem 0.5rem;white-space:nowrap}

/* lightbox */
.lb-backdrop{position:fixed;inset:0;background:rgba(10,15,13,.6);backdrop-filter:blur(0.375rem);-webkit-backdrop-filter:blur(0.375rem);display:none;align-items:center;justify-content:center;z-index:400;padding:1rem}
.lb-backdrop.show{display:flex}
.lb-frame{background:var(--surf);border-radius:1rem;box-shadow:0 1.875rem 4.375rem -1.25rem rgba(0,0,0,.5);width:min(57.5rem,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:scale(.96);filter:blur(0.25rem);transition:opacity .22s ease,transform .22s ease,filter .22s ease}
.lb-backdrop.show .lb-frame{opacity:1;transform:scale(1);filter:blur(0)}
.lb-head{display:flex;align-items:center;gap:0.625rem;padding:0.75rem 1rem;border-bottom:1px solid var(--line);flex:none}
.lb-title{flex:1;min-width:0;font-size:0.8438rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-body{flex:1;overflow:auto;background:var(--bg)}
@media (prefers-reduced-motion:reduce){.lb-frame{transition:none}}
@media (max-width:700px){.lb-frame{width:100%;max-height:94vh;border-radius:0.875rem 0.875rem 0 0}}

/* ---------- attachments: toolbar + 3 distribution layouts (contained) ---------- */
.att-toolbar{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}
.att-layout{border:1px solid var(--line);border-radius:0.5rem;padding:0.4375rem 0.5625rem;background:var(--bg);font-size:0.7812rem}
.att-empty{padding:1.125rem;text-align:center;color:var(--soft);font-size:0.75rem;border:1px dashed var(--line);border-radius:0.75rem;grid-column:1/-1}
.att-printurl{display:none}
.att-list{min-width:0}
.att-card{min-width:0}

/* ---------- official report page ---------- */
.rpt-toolbar{margin-bottom:1rem}
.rpt-tools{display:flex;gap:0.5rem;flex-wrap:wrap}
.rpt{max-width:55rem;width:100%;margin:0 auto 2.75rem;background:var(--surf);border:1px solid var(--line);border-radius:1.125rem;overflow:hidden;box-shadow:0 2.5rem 5rem -2.875rem rgba(0,0,0,.75);position:relative}
.rpt::before{content:'';display:block;height:0.375rem;background:linear-gradient(90deg,var(--glow1),var(--glow2),var(--glow3))}
.rpt-letter{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;padding:0.875rem 1.625rem;border-bottom:1px solid var(--line);background:var(--surf2)}
.rpt-brand{display:flex;align-items:center;gap:0.625rem;font-size:0.875rem}
.rpt-docno{font-size:0.6875rem;font-weight:800;letter-spacing:.4px;color:var(--brass);border:1px solid var(--brass);border-radius:6.1875rem;padding:0.1875rem 0.75rem}
.rpt-head{display:flex;gap:1.375rem;align-items:flex-start;justify-content:space-between;padding:1.625rem 1.625rem 1.375rem;border-bottom:1px solid var(--line)}
.rpt-head-main{flex:1;min-width:0}
.rpt-head h1{font-size:clamp(1.375rem,3.6vw,1.875rem);font-weight:900;line-height:1.5;margin:0.375rem 0 1rem;overflow-wrap:anywhere}
.rpt-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.375rem,1fr));gap:0.625rem;margin:0}
.rpt-meta>div{background:var(--surf2);border:1px solid var(--line);border-radius:0.625rem;padding:0.5625rem 0.75rem;min-width:0}
.rpt-meta dt{font-size:0.6562rem;font-weight:700;color:var(--soft);margin-bottom:0.1875rem}
.rpt-meta dd{margin:0;font-size:0.7812rem;font-weight:700;overflow-wrap:anywhere}
.rpt-qr{flex:none;width:8.25rem;text-align:center}
.rpt-qr small{display:block;margin-top:0.375rem;font-size:0.6562rem;color:var(--soft);line-height:1.5}
.qr-tile{background:#fff;border-radius:0.75rem;padding:0.5rem;width:8.25rem;height:8.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0.5rem 1.5rem -0.875rem rgba(0,0,0,.6)}
.qr-tile img{width:100%;height:100%;display:block;image-rendering:pixelated}
.qr-tile.qr-off{background:var(--surf2);color:var(--soft);font-size:0.6875rem;line-height:1.6;box-shadow:none;border:1px dashed var(--line);text-align:center}
.rpt-body{padding:1.375rem 1.625rem 0.625rem}
.rpt-h{font-size:0.875rem;font-weight:800;margin:0 0 0.875rem;color:var(--teal);display:flex;align-items:center;gap:0.625rem}
.rpt-h::after{content:'';flex:1;height:1px;background:var(--line)}
.rpt-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(14.375rem,1fr));gap:0.25rem 1.375rem}
.rpt-fields .pf{margin-bottom:0.875rem;min-width:0}
.rpt-fields .pf.wide{grid-column:1/-1}
.rpt-fields .pf span{overflow-wrap:anywhere}
.pv-num{font-weight:800;color:var(--teal)}
.rpt-atts{margin:0.75rem 1.625rem 1.5rem;background:var(--surf2);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.rpt-atts-head{width:100%;display:flex;align-items:center;gap:0.75rem;padding:0.8125rem 1.125rem;background:transparent;border:0;text-align:start;font-weight:800;font-size:0.8438rem;cursor:pointer;color:var(--ink)}
.rpt-atts-head:hover{background:rgba(45,212,207,.06)}
.rpt-atts-head:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.rpt-atts-title{flex:1;min-width:0}
.rpt-atts-title .cnt{font-style:normal;font-size:0.6875rem;background:var(--bg);border:1px solid var(--line);border-radius:6.1875rem;padding:1px 0.5625rem;margin-inline-start:0.375rem;color:var(--teal)}
.layout-tag{font-size:0.6875rem;color:var(--soft);font-weight:600}
.rpt-atts .chev{font-size:1rem;color:var(--soft);transition:transform .25s}
.rpt-atts.collapsed .chev{transform:rotate(90deg)}
.rpt-atts-body{padding:0.25rem 1.125rem 1.125rem;min-width:0;max-width:100%}
.rpt-atts.collapsed .rpt-atts-body{display:none}
.rpt-atts .att-list{margin-top:0.375rem}
.rpt-atts .att-card{background:var(--surf)}
.rpt-foot{padding:0.375rem 1.625rem 1.375rem}
.rpt-sign{display:flex;gap:1.875rem;justify-content:space-around;margin:1.375rem 0 0.875rem;font-size:0.75rem;color:var(--soft)}
.rpt-sign>div{flex:1;text-align:center;max-width:13.75rem}
.rpt-sign span{display:block;border-bottom:1px solid var(--line);height:2.125rem;margin-bottom:0.375rem}
.rpt-issued{text-align:center;font-size:0.6875rem;color:var(--soft);border-top:1px dashed var(--line);padding-top:0.75rem}
@media (max-width:640px){.rpt-head{flex-direction:column-reverse;align-items:stretch}.rpt-qr{width:auto;display:flex;align-items:center;gap:0.75rem;text-align:start}.rpt-qr small{margin:0}.rpt-letter,.rpt-body,.rpt-head{padding-inline:1rem}.rpt-atts{margin-inline:0.75rem}.rpt-foot{padding-inline:1rem}}


/* narrow-container hardening (form pane, live preview, mobile) */
.att-manager,[data-attslot],.rpt-atts-body{container-type:inline-size}
.att-card-head{flex-wrap:wrap;row-gap:2px}
.att-name{flex:1 1 6rem}
.att-meta{max-width:6.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-fallback{overflow:hidden;overflow-wrap:anywhere}
.att-fallback .btn{max-width:100%;white-space:normal;line-height:1.5}


/* ---------- AI tools + provider keys ---------- */
.field label{display:flex;flex-wrap:wrap;align-items:center;gap:0.375rem}
.ai-tools{margin-inline-start:auto;display:inline-flex;gap:0.25rem;flex-wrap:wrap}
.ai-btn{border:1px solid var(--line);background:var(--surf2);color:var(--teal);border-radius:6.1875rem;padding:2px 0.6875rem;font-size:0.6875rem;font-weight:700;cursor:pointer;line-height:1.8}
.ai-btn:hover{border-color:var(--teal);background:var(--ftint)}
.ai-sug{margin-top:0.5rem;border:1px solid var(--teal);border-radius:0.75rem;background:var(--bluetint);padding:0.625rem 0.75rem}
.ai-sug-text{font-size:0.8125rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-sug-act{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:0.5rem}
.ai-via{font-size:0.6562rem;color:var(--soft);margin-bottom:0.25rem}
.ai-badge{font-size:0.6875rem;font-weight:700;margin-top:0.5rem;padding:0.25rem 0.625rem;border-radius:6.1875rem;display:inline-block;background:var(--surf2);color:var(--soft)}
.ai-badge.ok{color:var(--forest)}.ai-badge.fail{color:var(--danger)}
.aip-row{display:flex;flex-wrap:wrap;gap:0.5rem 0.75rem;align-items:center;padding:0.75rem;border:1px solid var(--line);border-radius:0.75rem;margin-bottom:0.5rem;background:var(--surf)}
.aip-radio{display:flex;align-items:center;gap:0.5rem;min-width:11.875rem}
.aip-badge{font-size:0.6875rem;font-weight:800;padding:2px 0.625rem;border-radius:6.1875rem;background:var(--surf2);color:var(--soft)}
.aip-badge.ok{background:var(--ftint);color:var(--forest)}
.aip-badge.fail{background:rgba(224,122,104,.15);color:var(--danger)}
.aip-ok{display:flex;gap:0.5rem;align-items:center;flex:1 1 17.5rem;flex-wrap:wrap;margin-inline-start:auto}
.aip-ok code{background:var(--surf2);border-radius:0.375rem;padding:2px 0.5rem;font-size:0.7188rem}
.aip-edit{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}
.aip-edit[hidden]{display:none}
.aip-key{flex:2 1 13.75rem}.aip-model{flex:1 1 10rem}
.aip-edit input,.aip-sel{border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.625rem;background:var(--bg);width:auto}
.aip-sel{width:100%}
.aip-msg{flex:1 1 100%;font-size:0.7188rem;color:var(--soft);min-height:0.875rem}
.ai-card{margin-top:1rem}

/* ---------- homepage zones ---------- */
.hero-simple{background:linear-gradient(120deg,#07a869 0%,#0da9a6 52%,#3d7eb9 100%)}
.hero-simple::after{display:none}
.hero-simple .hero-in{padding:2.375rem 1.25rem 2.75rem}
.hero-simple p{color:rgba(255,255,255,.92)}
.ticker{max-width:65rem;margin:1.625rem auto;padding:0 1.25rem}
.ticker-in{background:linear-gradient(100deg,#04603a,#07a869 55%,#0a7f66);border-radius:1.25rem;overflow:hidden;color:#fff;box-shadow:0 1.25rem 2.5rem -1.375rem rgba(7,168,105,.6);padding:0.9375rem 0;position:relative}
.tk-track{display:flex;width:max-content;animation:tkmove 46s linear infinite}
.tk-slow{animation-duration:62s}
.ticker-in:hover .tk-track,.pmarq:hover .tk-track{animation-play-state:paused}
@keyframes tkmove{to{transform:translateX(50%)}}
.tk-item{background:none;border:0;color:#fff;font-weight:700;font-size:0.9062rem;padding:0 1.375rem;white-space:nowrap;cursor:pointer;display:inline-flex;gap:0.5rem;align-items:center}
.tk-item:hover{text-decoration:underline}
.tk-static{display:flex;flex-wrap:wrap;gap:0.5rem 0;padding:0.75rem 0.875rem}
@media (prefers-reduced-motion:reduce){.tk-track{animation:none}.ticker-in,.pmarq{overflow-x:auto}}
.pr{max-width:65rem;margin:0 auto;padding:3.375rem 1.25rem}
.pr-head{text-align:center;margin-bottom:2.125rem}
.pr-eyebrow{display:block;color:var(--forest);font-weight:800;font-size:0.875rem;letter-spacing:.6px;margin-bottom:0.75rem}
.pr-head h2,.pr-banner h2{font-size:clamp(1.625rem,4.4vw,2.75rem);font-weight:900;line-height:1.5;margin:0}
.pr-rule{width:7.5rem;height:0.3125rem;border-radius:6.1875rem;margin:1.125rem auto 0;background:linear-gradient(90deg,var(--brass),var(--forest))}
.pr-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2.125rem;align-items:center}
.pr-media{margin:0;position:relative;border-radius:1.75rem;overflow:hidden;min-height:20rem;background:linear-gradient(135deg,#07a869 0%,#0da9a6 55%,#15445a 100%);box-shadow:0 1.875rem 3.75rem -1.875rem rgba(7,168,105,.45)}
.pr-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.pr-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:6rem;font-weight:900;color:rgba(255,255,255,.28)}
.pr-text{font-size:0.9688rem;line-height:2.05}
.pr-text p{margin:0 0 0.75rem}
.pr-quote{font-size:3.5rem;line-height:.6;color:var(--brass);opacity:.85;margin-bottom:0.375rem}
.pr-sign{margin-top:1rem;padding-top:0.875rem;border-top:1px dashed var(--line);display:flex;flex-direction:column}
.pr-sign b{font-size:1rem}.pr-sign span{font-size:0.75rem;color:var(--soft)}
.pr-center .pr-text{max-width:45rem;margin:0 auto;text-align:center}
.pr-round{width:7rem;height:7rem;min-height:0;border-radius:50%;margin:0 auto 1.125rem}
.pr-banner{padding-block:1.875rem}
.pr-banner-in{background:linear-gradient(120deg,#07a869,#0da9a6 55%,#15445a);border-radius:1.625rem;padding:2.125rem;display:flex;gap:1.5rem;align-items:center;color:#fff}
.pr-banner .pr-text{color:#fff}
.pr-banner .pr-round{margin:0;flex:none}
.pr-banner .pr-sign{border-color:rgba(255,255,255,.35)}.pr-banner .pr-sign span{color:rgba(255,255,255,.8)}
.pr-eb-light{color:#e9fff6}
@media (max-width:760px){.pr-grid{grid-template-columns:1fr}.pr-banner-in{flex-direction:column;text-align:center}.pr-media{min-height:15rem}}
.stats-strip{box-shadow:none}
.vision-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surf);border:1px solid var(--line);border-radius:0.875rem;overflow:hidden}
.vision-strip .vcard{border:0;border-radius:0;border-inline-end:1px solid var(--line)}
.vision-strip .vcard:last-child{border-inline-end:0}
.vision-list{display:flex;flex-direction:column;gap:0.625rem}
.vision-list .vcard{display:flex;gap:0.875rem;align-items:flex-start}
.vision-list .vcard i{margin-bottom:0;flex:none}
@media (max-width:700px){.vision-strip{grid-template-columns:1fr}.vision-strip .vcard{border-inline-end:0;border-bottom:1px solid var(--line)}}
.flist{display:flex;flex-direction:column;gap:0.625rem}
.flist .fcard{display:flex;align-items:center;gap:0.875rem}
.flist .fcard b{margin:0;flex:1}
.frow{display:flex;gap:0.875rem;overflow-x:auto;padding-bottom:0.625rem;scroll-snap-type:x proximity}
.frow .fcard{flex:0 0 min(16.875rem,82%);scroll-snap-align:start}
.pchips{display:flex;flex-wrap:wrap;gap:0.625rem}
.pchip{background:var(--surf);border:1px solid var(--line);border-radius:6.1875rem;padding:0.5rem 1.125rem;display:inline-flex;gap:0.5rem;align-items:baseline;white-space:nowrap}
.pchip small{color:var(--soft);font-size:0.6875rem}
.pmarq{overflow:hidden;padding:0.25rem 0}
.pmarq .pchip{margin-inline-end:0.625rem}
.adminbar{position:fixed;inset-inline-start:0.875rem;bottom:0.875rem;z-index:90;display:flex;gap:0.625rem;align-items:center;background:var(--surf);border:1px solid var(--teal);border-radius:6.1875rem;padding:0.375rem 0.5rem 0.375rem 0.875rem;box-shadow:0 1rem 2.5rem -1.125rem rgba(0,0,0,.7);font-size:0.75rem}
.adminbar[hidden]{display:none}

/* ---------- homepage layout builder ---------- */
.hl-tpls{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin-bottom:0.875rem;font-size:0.7812rem;color:var(--soft)}
.hl-zone{display:flex;flex-wrap:wrap;gap:0.625rem 0.875rem;align-items:center;border:1px solid var(--line);border-radius:0.75rem;padding:0.6875rem 0.75rem;margin-bottom:0.5625rem;background:var(--surf)}
.hl-zone.off{opacity:.55}
.hl-ord{display:flex;flex-direction:column;gap:2px}
.hl-ord button{border:1px solid var(--line);background:var(--surf2);border-radius:0.375rem;width:1.625rem;height:1.25rem;font-size:0.625rem;line-height:1;color:var(--soft)}
.hl-ord button[disabled]{opacity:.3;cursor:default}
.hl-on{flex:1 1 13.75rem;display:flex;align-items:center;gap:0.5rem;font-size:0.8125rem}
.hl-zone select{border:1px solid var(--line);border-radius:0.5rem;padding:0.375rem 0.5625rem;background:var(--bg)}
.hl-sec{flex:1 1 100%}
.hl-sec summary{cursor:pointer;font-size:0.75rem;color:var(--teal);font-weight:700}
.hl-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.875rem,1fr));gap:0.375rem 0.75rem;margin-top:0.5rem;font-size:0.75rem}
.hl-actions{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin-top:0.875rem}
.hl-msg{font-size:0.75rem;color:var(--soft)}


/* ---------- health guidance landing page ---------- */
#homeZones [data-zone]{scroll-margin-top:5.25rem}
.hg{max-width:65rem;margin:0 auto;padding:2.875rem 1.25rem}
.hg-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem;align-items:center}
.hg-rev .hg-media{order:-1}
.hg-text{min-width:0}
.hg-eyebrow{display:block;color:var(--a2);font-weight:800;font-size:0.875rem;margin-bottom:0.625rem}
.hg h2{font-size:clamp(1.625rem,4.2vw,2.5rem);font-weight:900;line-height:1.5;margin:0 0 0.75rem;overflow-wrap:anywhere}
.hg-sub{color:var(--soft);font-size:0.9375rem;line-height:1.9;margin:0 0 1.375rem}
.hg-feats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.75rem}
.hg-feats li{display:flex;align-items:center;gap:0.75rem;background:var(--tint);border-radius:1rem;padding:1rem 1.125rem;font-size:0.9375rem;overflow-wrap:anywhere}
.hg-fi{color:var(--a2);font-size:1rem;width:1.375rem;text-align:center;flex:none}
.hg-media{margin:0;position:relative;border-radius:1.875rem;overflow:hidden;aspect-ratio:16/9;width:100%;min-width:0;background:linear-gradient(135deg,var(--a1),var(--a2));box-shadow:0 1.875rem 3.75rem -1.875rem var(--a1)}
.hg-click{cursor:pointer}
.hg-img,.hg-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hg-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:5.625rem;color:rgba(255,255,255,.3)}
.hg-play{position:absolute;inset:0;margin:auto;width:5.25rem;height:5.25rem;border-radius:50%;background:#fff;border:0;color:var(--a1);font-size:1.875rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0.875rem 1.875rem -0.625rem rgba(0,0,0,.5);transition:transform .2s;z-index:2;padding-inline-start:0.25rem}
.hg-click:hover .hg-play{transform:scale(1.08)}
.hg-play:focus-visible{outline:0.1875rem solid #fff;outline-offset:0.1875rem}
.hg-banner{padding-block:1.875rem}
.hg-banner .hg-in{background:linear-gradient(120deg,var(--a1),var(--a2));border-radius:1.75rem;padding:2.125rem;color:#fff}
.hg-banner .hg-eyebrow,.hg-banner h2{color:#fff}
.hg-banner .hg-sub{color:rgba(255,255,255,.92)}
.hg-banner .hg-feats li{background:rgba(255,255,255,.16)}
.hg-banner .hg-fi{color:#fff}
.hg-banner .hg-media{box-shadow:none;border:2px solid rgba(255,255,255,.45)}
@media (max-width:760px){.hg-in{grid-template-columns:1fr;gap:1.625rem}.hg-banner .hg-in{padding:1.375rem}.hg-rev .hg-media{order:0}}


/* =================== SITE v2: themes, corners, widths =================== */
#homepage,#pubView{background:var(--bg);color:var(--ink)}
#pubView{display:none;min-height:100vh}
#pvTitle{font-weight:800;font-size:0.9062rem}
#pubView .pubmast-in{gap:0.875rem}
.th-light{color-scheme:light;--ink:#15242d;--soft:#5c6b73;--bg:#f5f6f4;--surf:#fff;--surf2:#eef1ef;--line:#dde3e0;--forest:#07a869;--fdark:#15445a;--ftint:#e3f5ec;--brass:#8f7f45;--btint:#f4f0e3;--teal:#0a8f8c;--blue:#3d7eb9;--danger:#a13a2f;--vignette:rgba(255,255,255,.15);--bluetint:#e6f1f8}
.th-light .hero:not(.hero-simple){background:linear-gradient(120deg,#07a869 0%,#0da9a6 52%,#3d7eb9 100%)}
.th-light .hero::after{display:none}
.th-light .letterbox{display:none}
.th-light .stat b{text-shadow:none}
.th-light .moe-badge{background:var(--ftint);color:var(--fdark)}
:is(#homepage,#pubView).cr-soft{--rc:0.875rem;--rl:1.75rem}
:is(#homepage,#pubView).cr-sharp{--rc:0.1875rem;--rl:0.375rem}
:is(#homepage,#pubView).cr-round{--rc:1.5rem;--rl:2.875rem}
:is(#homepage,#pubView) :is(.vcard,.fcard,.stats-in,.alb-card,.ct-card,.map-card,.pn-box,.pchip,.cp-loc,.pic-tile,.hl-dcard){border-radius:var(--rc)}
:is(#homepage,#pubView) :is(.pr-banner-in,.hg-media,.ticker-in,.hg-banner .hg-in,.pp-hero,.cp-hero,.ap-hero){border-radius:var(--rl)}
:is(#homepage,#pubView) .hg-feats li{border-radius:var(--rc)}
.wd-wide :is(.pubmast-in,.wrap,.hero-in,.pr,.hg,.ticker,.stats,.pp-body,.cp-body,.ap-body){max-width:77.5rem}
.wd-narrow :is(.pubmast-in,.wrap,.hero-in,.pr,.hg,.ticker,.stats,.pp-body,.cp-body,.ap-body){max-width:55rem}
.linkbtn{background:none;border:0;color:var(--teal);font-weight:700;font-size:0.7812rem;cursor:pointer;padding:0}
.linkbtn:hover{text-decoration:underline}
.fbar{display:block;height:0.375rem;border-radius:6.1875rem;background:var(--surf2);margin:0.625rem 0 0.25rem;overflow:hidden}
.fbar i{display:block;height:100%;background:linear-gradient(90deg,var(--forest),var(--teal));border-radius:6.1875rem}

/* switch (reference toggle) */
.sw{position:relative;display:inline-block;width:3.25rem;height:1.875rem;flex:none}
.sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:2}
.sw-ui{position:absolute;inset:0;border-radius:6.1875rem;background:#2b3b44;transition:background .2s}
.sw-ui::after{content:'';position:absolute;top:0.1875rem;inset-inline-end:0.1875rem;width:1.5rem;height:1.5rem;border-radius:50%;background:#fff;transition:inset-inline-end .2s,transform .2s;box-shadow:0 2px 0.375rem rgba(0,0,0,.35)}
.sw input:checked + .sw-ui{background:var(--forest)}
.sw input:checked + .sw-ui::after{inset-inline-end:calc(100% - 1.6875rem)}
.sw input:focus-visible + .sw-ui{outline:0.1875rem solid rgba(45,212,207,.5);outline-offset:2px}
.sw-line{display:flex;align-items:center;gap:0.625rem;font-size:0.7812rem;font-weight:700}

/* layout builder */
.hl-cap{font-size:0.8125rem;color:var(--soft);margin-bottom:0.75rem}
.hl-list{display:flex;flex-direction:column;gap:0.5625rem}
.hl-row{display:flex;align-items:center;gap:0.75rem;border:1px solid var(--line);border-radius:0.875rem;padding:0.6875rem 0.875rem;background:var(--surf2);position:relative}
.hl-row.off{opacity:.55}
.hl-row.dragging{opacity:.4}
.hl-row.over-b::before,.hl-row.over-a::after{content:'';position:absolute;inset-inline:0;height:0.1875rem;border-radius:6.1875rem;background:var(--teal)}
.hl-row.over-b::before{top:-0.375rem}.hl-row.over-a::after{bottom:-0.375rem}
.hl-grip{cursor:grab;color:var(--soft);font-size:1.125rem;letter-spacing:-0.1875rem;user-select:none;padding:0.25rem 0.375rem;touch-action:none}
.hl-grip:active{cursor:grabbing}
.hl-main{flex:1;min-width:0}
.hl-main>b{display:block;font-size:0.9062rem;margin-bottom:0.375rem}
.hl-ctl{display:flex;flex-wrap:wrap;gap:0.5rem}
.hl-ctl select,.hl-opts select{border:1px solid var(--line);border-radius:0.5rem;padding:0.375rem 0.5625rem;background:var(--bg);font-size:0.7812rem}
.hl-sec{margin-top:0.5rem}.hl-sec summary{cursor:pointer;font-size:0.75rem;color:var(--teal);font-weight:700}
.hl-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.875rem,1fr));gap:0.375rem 0.75rem;margin-top:0.5rem;font-size:0.75rem}
.hl-ord{display:flex;flex-direction:column;gap:0.1875rem}
.hl-ord button{border:1px solid var(--line);background:var(--surf);border-radius:0.375rem;width:1.625rem;height:1.25rem;font-size:0.625rem;line-height:1;color:var(--soft);cursor:pointer}
.hl-ord button[disabled]{opacity:.3;cursor:default}
.hl-h3{font-size:1rem;margin:1.625rem 0 0.25rem}
.hl-sub{font-size:0.7812rem;color:var(--soft);margin-bottom:0.75rem}
.hl-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.125rem,1fr));gap:0.875rem}
.hl-dcard{border:1px solid var(--line);border-radius:0.875rem;padding:0.75rem;background:var(--surf);display:flex;flex-direction:column;gap:0.5rem}
.hl-dcard.on{border-color:var(--teal);box-shadow:0 0 0 2px rgba(45,212,207,.25)}
.hl-dcard b{font-size:0.875rem}.hl-dcard b em{font-style:normal;font-size:0.6562rem;color:var(--teal);margin-inline-start:0.375rem}
.hl-dcard small{color:var(--soft);font-size:0.7188rem;line-height:1.7;flex:1}
.hl-opts{display:flex;flex-wrap:wrap;gap:0.875rem;margin-top:1rem}
.hl-opts label{display:flex;flex-direction:column;gap:0.25rem;font-size:0.75rem;color:var(--soft);font-weight:700}
.hl-actions{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin-top:1.125rem}
.hl-msg{font-size:0.75rem;color:var(--soft)}
.dt{border-radius:0.625rem;padding:0.4375rem;display:flex;flex-direction:column;gap:0.25rem;height:9.375rem;overflow:hidden;border:1px solid var(--line)}
.dt-dark{background:#0a1418}.dt-light{background:#f2f4f2}
.dc-sharp{border-radius:2px}.dc-round{border-radius:1rem}.dw-narrow{padding-inline:1rem}.dw-wide{padding-inline:0.1875rem}
.dtb{display:block;border-radius:0.1875rem;flex:none}
.dt-dark .dtb{background:#1d3038}.dt-light .dtb{background:#d6dcd8}
.dtb-hero{height:1.375rem;background:linear-gradient(90deg,#07a869,#0da9a6,#3d7eb9)!important}
.dtb-ticker{height:0.375rem;background:#07a869!important}
.dtb-principal{height:1.125rem}.dtb-principal.dtv-split{background:linear-gradient(90deg,#1d3038 0 45%,transparent 45% 50%,#0da9a655 50%)!important}
.dtb-principal.dtv-banner{background:linear-gradient(90deg,#07a869,#15445a)!important}
.dtb-stats{height:0.5rem}.dtb-stats.dtv-float{height:0.625rem;background:#0da9a6aa!important}
.dtb-vision{height:0.5625rem;background:repeating-linear-gradient(90deg,#2a8a74 0 28%,transparent 28% 33%)!important}
.dtb-opplan,.dtb-activity,.dtb-counsel,.dtb-growth,.dtb-initiatives,.dtb-feed{height:0.6875rem;background:repeating-linear-gradient(90deg,#3d7eb9aa 0 22%,transparent 22% 26%)!important}
.dtb-opplan.dtv-list,.dtb-activity.dtv-list,.dtb-counsel.dtv-list,.dtb-growth.dtv-list,.dtb-feed.dtv-list{background:repeating-linear-gradient(0deg,#3d7eb9aa 0 0.1875rem,transparent 0.1875rem 0.3125rem)!important}
.dtb-health{height:1rem;background:linear-gradient(90deg,#1d3038 0 50%,#d62a7e88 50%)!important}
.dtb-health.dtv-banner{background:linear-gradient(90deg,#0da9a6,#39d0cc)!important}
.dtb-albums{height:0.875rem;background:repeating-linear-gradient(90deg,#c1b489 0 14%,transparent 14% 17%)!important}
.dtb-albums.dtv-mosaic{height:1.125rem;background:linear-gradient(90deg,#c1b489 0 35%,transparent 35% 38%,#c1b48999 38% 68%,transparent 68% 71%,#c1b48977 71%)!important}
.dtb-partners{height:0.5rem;background:radial-gradient(circle,#0da9a6 0 0.1875rem,transparent 0.2188rem) 0 0/1rem 0.5rem!important}

/* ---------------- principal landing (reference design) ---------------- */
.pr-visual{position:relative;margin-bottom:1.875rem}
.pr-media{border-radius:var(--rl,1.75rem) var(--rl,1.75rem) var(--rl,1.75rem) calc(var(--rl,1.75rem)*3);min-height:22.5rem;aspect-ratio:auto}
.pr-visual .pr-media{aspect-ratio:1/1.02}
.pr-media::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.22),transparent 55%);z-index:1;pointer-events:none}
.pr-avatar{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:16%;z-index:0}
.pr-avatar svg{width:min(7.5rem,24%);height:auto;opacity:.95}
.pr-namecard{position:absolute;inset-inline-end:-1.375rem;bottom:-1.625rem;z-index:3;display:flex;align-items:center;gap:0.75rem;background:var(--surf);color:var(--ink);padding:0.75rem 1rem 0.75rem 1.375rem;border-radius:1.375rem 1.375rem 1.375rem 0.5rem;box-shadow:0 1.25rem 2.5rem -1.125rem rgba(0,0,0,.55);border-inline-start:0.375rem solid var(--forest);min-width:12.5rem}
.pr-namecard b{display:block;font-size:1.0625rem;line-height:1.4}
.pr-namecard small{display:block;font-size:0.75rem;color:var(--soft)}
.pr-seal{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--ftint);color:var(--forest);display:flex;align-items:center;justify-content:center;flex:none}
.pr-trunc{font-size:1rem;line-height:2.1;margin:0 0 1.125rem}
.pr-text{align-self:center}
.pr-quote{font-size:3.75rem;line-height:.5;color:var(--brass);margin-bottom:0.5rem;font-family:Georgia,serif}
.pr-actions{display:flex;flex-wrap:wrap;gap:0.625rem}
.pr-btn{border:2px solid var(--forest);border-radius:var(--rc,0.875rem);padding:0.6875rem 1.375rem;font-weight:800;font-size:0.875rem;cursor:pointer;display:inline-flex;align-items:center;gap:0.625rem;background:transparent;color:var(--forest);transition:transform .15s,box-shadow .15s,background .15s}
.pr-btn:hover{transform:translateY(-2px)}
.pr-more{background:linear-gradient(135deg,var(--forest),#04603a);color:#fff;border-color:transparent;box-shadow:0 0.875rem 1.625rem -0.875rem rgba(7,168,105,.8)}
.pr-more i{font-style:normal;width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;font-size:1.0625rem;line-height:1}
.pr-ghost:hover{background:var(--ftint)}
.pr-mini{margin:0 auto 0.375rem;width:8.25rem}
.pr-mini .pr-media{min-height:0;aspect-ratio:1;border-radius:2.125rem 2.125rem 2.125rem 3.875rem}
.pr-mini .pr-avatar svg{width:56%}
.pr-nm{text-align:center;margin-bottom:0.875rem}.pr-nm b{display:block;font-size:1.0625rem}.pr-nm small{color:var(--soft);font-size:0.75rem}
.pr-nm-l{text-align:start;margin-top:0.875rem;color:#fff}.pr-nm-l small{color:rgba(255,255,255,.8)}
.pr-center .pr-actions{justify-content:center}.pr-center .pr-quote{text-align:center}
.pr-banner .pr-actions .pr-ghost{color:#fff;border-color:rgba(255,255,255,.7)}
.pr-banner .pr-more{background:#fff;color:#04603a}.pr-banner .pr-more i{background:rgba(7,168,105,.15)}
.pr-banner .pr-trunc{color:#fff}
.pr-banner .pr-visual{margin-bottom:0}
@media (max-width:760px){.pr-namecard{inset-inline-end:0.5rem;bottom:-1.375rem}.pr-visual .pr-media{aspect-ratio:4/3;min-height:15rem}}

/* principal full page */
.pp-hero{background:linear-gradient(120deg,#07a869,#0da9a6 55%,#15445a);color:#fff;margin:1.375rem 1.25rem 0;overflow:hidden;position:relative}
.pp-hero::after{content:'❞';position:absolute;inset-inline-end:2.125rem;top:-1.625rem;font-size:13.75rem;color:rgba(255,255,255,.12);font-family:Georgia,serif;line-height:1}
.pp-hero-in{max-width:65rem;margin:0 auto;padding:2.875rem 1.75rem 3.125rem;position:relative;z-index:1}
.pp-eyebrow{display:inline-block;font-size:0.7812rem;font-weight:800;letter-spacing:.5px;background:rgba(255,255,255,.18);border-radius:6.1875rem;padding:0.25rem 0.875rem;margin-bottom:0.875rem}
.pp-hero h1,.cp-hero h1,.ap-hero h1{font-size:clamp(1.75rem,5vw,2.875rem);font-weight:900;line-height:1.5;margin:0}
.pp-hero .pr-rule{margin:1rem 0 0}
.pp-body{max-width:65rem;margin:0 auto;padding:2.75rem 1.25rem 3.75rem;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:2.75rem;align-items:start}
.pp-side{position:sticky;top:5.25rem}
.pp-contact{margin-top:2.625rem;width:100%;justify-content:center}
.pp-qm{font-size:4.5rem;line-height:.6;color:var(--brass);font-family:Georgia,serif;margin-bottom:0.625rem}
.pp-speech p{font-size:1.0625rem;line-height:2.2;margin:0 0 1rem}
.pp-speech p:first-child{font-size:1.1875rem;font-weight:600}
.pp-sign{margin-top:1.625rem;padding-top:1.125rem;border-top:2px solid var(--line);display:flex;flex-direction:column}
.pp-sign b{font-size:1.25rem}.pp-sign small{color:var(--soft)}
.pp-bio{margin-top:2.125rem;background:var(--surf);border:1px solid var(--line);border-radius:var(--rc,0.875rem);padding:1.375rem}
.pp-bio h3{margin:0 0 0.625rem;color:var(--teal)}
@media (max-width:820px){.pp-body{grid-template-columns:1fr}.pp-side{position:static}}

/* ---------------- contact page ---------------- */
.cp-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b1d2b,#15445a 60%,#0da9a6);color:#fff;margin:1.375rem 1.25rem 0}
.cp-blob{position:absolute;border-radius:50%;filter:blur(3.125rem);opacity:.5;animation:cpfloat 14s ease-in-out infinite alternate}
.cp-blob.b1{width:18.75rem;height:18.75rem;background:#07a869;inset-inline-start:-3.75rem;top:-5rem}
.cp-blob.b2{width:16.25rem;height:16.25rem;background:#3d7eb9;inset-inline-end:-2.5rem;bottom:-5.625rem;animation-delay:-5s}
@keyframes cpfloat{to{transform:translate(2.5rem,1.875rem) scale(1.15)}}
.cp-hero-in{position:relative;z-index:1;max-width:65rem;margin:0 auto;padding:3.375rem 1.75rem 3.625rem}
.cp-hero p,.ap-hero p{max-width:38.75rem;line-height:2;font-size:0.9688rem;opacity:.92;margin:0.875rem 0 0}
.cp-body,.ap-body{max-width:65rem;margin:0 auto;padding:2.5rem 1.25rem 3.5rem}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.625rem,1fr));gap:1rem}
.ct-card{position:relative;background:var(--surf);background:linear-gradient(165deg,color-mix(in srgb,var(--c) 14%,var(--surf)),var(--surf) 55%);border:1px solid var(--line);border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));padding:1.125rem;display:flex;flex-direction:column;gap:0.75rem;overflow:hidden;transition:transform .25s,box-shadow .25s}
.ct-card::before{content:'';position:absolute;inset-inline:0;top:0;height:0.25rem;background:var(--c)}
.ct-card:hover{transform:translateY(-0.3125rem);box-shadow:0 1.375rem 2.5rem -1.375rem var(--c)}
.ct-top{display:flex;align-items:center;gap:0.75rem}
.ct-top b{display:block;font-size:0.9375rem}.ct-top small{color:var(--soft);font-size:0.7188rem}
.ct-ico{width:2.75rem;height:2.75rem;border-radius:0.875rem;display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0.5rem 1.125rem -0.625rem rgba(0,0,0,.6)}
.ct-val{font-weight:800;font-size:1.0625rem;letter-spacing:.3px;text-align:start;overflow-wrap:anywhere}
.ct-qr{display:flex;align-items:center;gap:0.75rem;background:var(--surf2);border-radius:0.875rem;padding:0.625rem}
.ct-qr img{width:6rem;height:6rem;border-radius:0.625rem;background:#fff;padding:0.3125rem;flex:none}
.ct-qr small{color:var(--soft);font-size:0.7188rem;line-height:1.7}
.ct-btn{margin-top:auto;display:block;text-align:center;text-decoration:none;font-weight:800;font-size:0.8438rem;padding:0.6875rem 0.875rem;border-radius:0.75rem;background:var(--c);color:#fff;transition:filter .2s}
.ct-card[style*="#f7d300"] .ct-btn,.ct-card[style*="#c1b489"] .ct-btn{color:#15242d}
.ct-btn:hover{filter:brightness(1.1)}
.cp-info{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:1.125rem;margin-top:1.625rem}
.cp-loc{background:var(--surf);border:1px solid var(--line);padding:1.25rem}
.cp-loc h3{margin:0 0 0.75rem;color:var(--teal)}
.cp-line{display:flex;flex-direction:column;gap:2px;margin-bottom:0.75rem}.cp-line b{font-size:0.75rem;color:var(--soft)}
@media (max-width:760px){.cp-info{grid-template-columns:1fr}}

/* map card */
.map-card{background:#0d1b2b;border:1px solid rgba(255,255,255,.12);overflow:hidden;color:#dbe4ee}
.th-light .cp-map .map-card{border-color:var(--line)}
.map-art{height:8rem;position:relative;background:linear-gradient(135deg,#12293f,#0e2236);overflow:hidden}
.map-tall .map-art{height:14.375rem}
.map-art i{position:absolute;display:block;background:#23405c}
.map-r1{left:-10%;right:-10%;top:46%;height:0.5625rem;transform:rotate(-9deg)}
.map-r2{top:-10%;bottom:-10%;left:38%;width:0.5rem;transform:rotate(14deg)}
.map-r3{left:-10%;right:-10%;top:76%;height:0.375rem;transform:rotate(6deg);opacity:.7}
.map-blk1{left:8%;top:12%;width:22%;height:24%;background:#173149!important;border-radius:0.375rem}
.map-blk2{right:8%;bottom:10%;width:26%;height:26%;background:#173149!important;border-radius:0.375rem}
.map-pin{position:absolute;left:50%;top:50%;width:1.625rem;height:1.625rem;background:#07a869;border-radius:50% 50% 50% 0;transform:translate(-50%,-72%) rotate(-45deg);box-shadow:0 0 0 0 rgba(7,168,105,.5);animation:pinpulse 2.2s ease-out infinite}
.map-pin b{position:absolute;inset:0.5rem;background:#fff;border-radius:50%}
@keyframes pinpulse{70%{box-shadow:0 0 0 1.375rem rgba(7,168,105,0)}100%{box-shadow:0 0 0 0 rgba(7,168,105,0)}}
.map-frame{width:100%;height:9.375rem;border:0;display:block;background:#0d1b2b}
.map-tall .map-frame{height:15.625rem}
.map-foot{padding:0.75rem 0.875rem}
.map-title{font-weight:800;font-size:0.8125rem;margin-bottom:0.25rem}
.map-addr{font-size:0.7812rem;opacity:.85;line-height:1.7;margin-bottom:0.5rem}
.map-btns{display:flex;flex-wrap:wrap;gap:0.5rem}
.map-btn{background:var(--forest);color:#fff;text-decoration:none;font-weight:800;font-size:0.75rem;padding:0.4375rem 0.875rem;border-radius:6.1875rem}
.map-ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:inherit}
.map-none{font-size:0.75rem;opacity:.7}
@media (prefers-reduced-motion:reduce){.map-pin,.cp-blob{animation:none}}

/* ---------------- footer ---------------- */
.ft{background:linear-gradient(135deg,#0a1626,#101c30);color:#dbe4ee;margin-top:2.25rem}
.ft-in{max-width:77.5rem;margin:0 auto;padding:3rem 1.375rem 1.75rem;display:grid;grid-template-columns:1.2fr .8fr 1fr 1.25fr;gap:2.125rem}
.ft h4{margin:0 0 1rem;font-size:1rem;color:#fff}
.ft-logo{display:flex;align-items:center;gap:0.875rem;margin-bottom:0.875rem}
.ft-cap{width:3.25rem;height:3.25rem;border-radius:0.875rem;background:linear-gradient(135deg,#07a869,#c1b489);display:inline-flex;align-items:center;justify-content:center;flex:none}
.ft-logo b{display:block;font-size:1.1875rem;color:#fff}.ft-logo small{color:#9fb0c4;font-size:0.7812rem}
.ft-brand p{margin:0;font-size:0.875rem;line-height:1.9;color:#b8c6d8}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.6875rem}
.ft-link{background:none;border:0;color:#b8c6d8;font-size:0.9062rem;cursor:pointer;padding:0;text-align:start}
.ft-link:hover{color:#fff;text-decoration:underline}
.ft-row{display:flex;align-items:center;gap:0.625rem;color:#b8c6d8;font-size:0.875rem;margin-bottom:0.6875rem;text-decoration:none;line-height:1.7}
a.ft-row:hover{color:#fff}
.ft-row svg{flex:none;color:#7f93aa}
.ft-dim{opacity:.6}
.ft-socs{display:flex;flex-wrap:wrap;gap:0.625rem;margin-top:1rem}
.ft-soc{display:inline-flex;border-radius:0.75rem;transition:transform .2s}
.ft-soc:hover{transform:translateY(-0.1875rem)}
.ft-soc .ct-ico{width:2.5rem;height:2.5rem;border-radius:0.75rem;box-shadow:none}
.ft-copy{max-width:77.5rem;margin:0 auto;padding:1.125rem 1.375rem 1.625rem;border-top:1px solid rgba(255,255,255,.08);text-align:center;color:#8da0b6;font-size:0.8125rem;display:flex;flex-direction:column;gap:0.25rem}
.ft-moe{font-size:0.7188rem;opacity:.8}
@media (max-width:1000px){.ft-in{grid-template-columns:1fr 1fr}.ft-mapcol{grid-column:1/-1}}
@media (max-width:560px){.ft-in{grid-template-columns:1fr}}

/* ---------------- albums ---------------- */
.alb{display:grid;gap:1rem}
.alb-grid{grid-template-columns:repeat(auto-fill,minmax(14.375rem,1fr))}
.alb-mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:9.375rem}
.alb-mosaic .alb-card:first-child{grid-column:span 2;grid-row:span 2}
.alb-slider{display:flex;overflow-x:auto;gap:1rem;padding-bottom:0.625rem;scroll-snap-type:x proximity}
.alb-slider .alb-card{flex:0 0 min(17.5rem,80%);scroll-snap-align:start}
.alb-card{position:relative;display:block;width:100%;border:0;padding:0;background:var(--surf2);overflow:hidden;cursor:pointer;text-align:start;aspect-ratio:4/3;transition:transform .25s,box-shadow .25s}
.alb-mosaic .alb-card{aspect-ratio:auto}
.alb-card:hover{transform:translateY(-0.25rem);box-shadow:0 1.375rem 2.5rem -1.375rem rgba(0,0,0,.7)}
.alb-img{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(135deg,var(--ftint),var(--bluetint))}
.alb-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.alb-card:hover .alb-img img{transform:scale(1.07)}
.alb-meta{position:absolute;inset-inline:0;bottom:0;padding:2.125rem 0.875rem 0.75rem;background:linear-gradient(0deg,rgba(4,10,13,.82),transparent);color:#fff;display:flex;flex-direction:column}
.alb-meta b{font-size:0.9375rem}.alb-meta small{opacity:.85;font-size:0.75rem}
@media (max-width:760px){.alb-mosaic{grid-template-columns:repeat(2,1fr)}}
.ap-hero{background:linear-gradient(120deg,#15445a,#0da9a6 60%,#07a869);color:#fff;margin:1.375rem 1.25rem 0}
.ap-hero-in{max-width:65rem;margin:0 auto;padding:2.875rem 1.75rem 3.125rem}
.al-grid{columns:3 15rem;column-gap:0.875rem}
.al-ph{break-inside:avoid;margin:0 0 0.875rem}
.al-img{display:block;width:100%;border:0;padding:0;background:var(--surf2);cursor:zoom-in;overflow:hidden;border-radius:var(--rc,0.875rem)}
.al-img img{display:block;width:100%;height:auto;transition:transform .4s}
.al-img:hover img{transform:scale(1.04)}
.al-ph figcaption{padding:0.375rem 0.25rem 0;font-size:0.7812rem;color:var(--soft)}
.al-rep{background:var(--ftint);color:var(--fdark);border:0;border-radius:6.1875rem;padding:0.3125rem 0.75rem;font-weight:700;font-size:0.75rem;cursor:pointer}
.al-rep:hover{text-decoration:underline}
/* albums admin */
.al-th{width:2.875rem;height:2.875rem;border-radius:0.625rem;overflow:hidden;background:var(--surf2);display:inline-flex;align-items:center;justify-content:center;flex:none}
.al-th img{width:100%;height:100%;object-fit:cover}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.375rem,1fr));gap:0.75rem;margin-top:0.75rem}
.ap-tile{position:relative;border:1px solid var(--line);border-radius:0.75rem;overflow:hidden;background:var(--surf2)}
.ap-tile.unsaved{outline:2px dashed var(--danger)}
.ap-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.ap-badge{position:absolute;top:0.375rem;inset-inline-start:0.375rem;background:rgba(7,168,105,.9);color:#fff;font-size:0.625rem;font-weight:800;padding:2px 0.5rem;border-radius:6.1875rem}
.ap-badge.warn{background:var(--danger);top:auto;bottom:2.75rem}
.ap-star,.ap-del{position:absolute;top:0.375rem;width:1.75rem;height:1.75rem;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;font-size:0.8125rem}
.ap-star{inset-inline-end:0.375rem}.ap-del{inset-inline-end:2.5rem}
.ap-star.on{background:var(--brass);color:#15242d}
.ap-cap{display:block;width:100%;border:0;border-top:1px solid var(--line);padding:0.5rem;font-size:0.75rem;background:var(--bg);color:var(--ink)}
.ap-cap.ro{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--soft)}
.pic-card{width:min(53.75rem,100%);max-height:88vh;display:flex;flex-direction:column;gap:0.75rem}
.pic-head{display:flex;gap:0.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pic-head h3{margin:0}
.pic-head input{border:1px solid var(--line);border-radius:0.5rem;padding:0.4375rem 0.625rem;background:var(--bg);margin:0;width:12.5rem}
.pic-grid{overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.125rem,1fr));gap:0.625rem;min-height:7.5rem}
.pic-tile{position:relative;border:1px solid var(--line);overflow:hidden;cursor:pointer;display:block;background:var(--surf2)}
.pic-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.pic-tile span{display:block;font-size:0.6875rem;padding:0.3125rem 0.4375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pic-tile input{position:absolute;top:0.5rem;inset-inline-start:0.5rem;width:1.125rem;height:1.125rem;margin:0;z-index:2}
.pic-tile.have{opacity:.5}
/* contact editor */
.ct-add{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}
.ct-add select,.ct-add input{border:1px solid var(--line);border-radius:0.5rem;padding:0.5625rem 0.625rem;background:var(--bg)}
.ct-add #ctVal{flex:2 1 16.25rem}.ct-add #ctLabel{flex:1 1 10.625rem}
.ct-row{display:flex;align-items:center;gap:0.75rem;border:1px solid var(--line);border-radius:0.75rem;padding:0.625rem 0.75rem;margin-top:0.5rem;background:var(--surf2)}
.ct-row .ct-ico{width:2.25rem;height:2.25rem;border-radius:0.6875rem}
.ct-rt{flex:1;min-width:0}.ct-rt b{display:block;font-size:0.8438rem}.ct-rt small{color:var(--soft);font-size:0.75rem}
.ct-lk{color:var(--soft);font-size:0.6875rem;max-width:12.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-ra{display:flex;gap:0.25rem}
.ct-ra button{border:1px solid var(--line);background:var(--surf);border-radius:0.375rem;width:1.75rem;height:1.625rem;font-size:0.6875rem;color:var(--soft);cursor:pointer}
.ct-ra button[disabled]{opacity:.3}.ct-ra .ct-del:hover{color:var(--danger);border-color:var(--danger)}

/* ---------------- partners: shapes × motions ---------------- */
.pn{display:inline-flex;flex-direction:column;align-items:center;gap:0.5rem;text-decoration:none;color:var(--ink);text-align:center;position:relative}
.pn-name{font-size:0.8125rem;max-width:9.375rem;line-height:1.5}
.pn small{font-size:0.6875rem;color:var(--soft);margin-top:-0.375rem}
.pn-shape{display:flex;align-items:center;justify-content:center;background:var(--t);overflow:hidden;transition:transform .35s cubic-bezier(.2,.9,.3,1.4),box-shadow .35s}
.pn-shape img{width:100%;height:100%;object-fit:cover;display:block}
.pn-ini{font-weight:900;font-size:1.625rem;color:var(--fdark)}
.pn-box{width:9.375rem;height:6.125rem;border:1px solid var(--line)}
.pn-circle{width:6.75rem;height:6.75rem;border-radius:50%;border:1px solid var(--line)}
.pn-blob{width:8rem;height:7.25rem;animation:blobmorph 8s ease-in-out infinite alternate}
@keyframes blobmorph{from{border-radius:var(--b1)}to{border-radius:var(--b2)}}
.pn-poly{width:7.375rem;height:7.375rem}
.pn:hover{z-index:6}
.pn:hover .pn-shape{transform:scale(1.32);box-shadow:0 1.375rem 2.5rem -1rem rgba(0,0,0,.7)}
.pn-wrap{display:flex;flex-wrap:wrap;gap:1.375rem 1.5rem;justify-content:center;padding:0.875rem 0}
.pn-m-float .pn{animation:pnfloat calc(4s + var(--i) * .37s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.6s)}
@keyframes pnfloat{from{transform:translateY(-0.5625rem) rotate(-1.5deg)}to{transform:translateY(0.6875rem) rotate(1.5deg)}}
.pn-m-wave .pn{animation:pnwave 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * .16s)}
@keyframes pnwave{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.125rem)}}
.pn-m-float .pn:hover,.pn-m-wave .pn:hover{animation-play-state:paused}
.pn-marq{overflow:hidden;padding:2.125rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.pn-marq .pn{margin-inline:1rem;flex:none}
.pn-marq:hover .tk-track{animation-play-state:paused}
.orbit{position:relative;width:min(38.75rem,100%);aspect-ratio:1;margin:0.625rem auto;container-type:inline-size;--ps:clamp(3.375rem,15cqw,6rem)}
.orbit-core{position:absolute;inset:36%;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#07a869,#0da9a6 55%,#3d7eb9);color:#fff;font-size:clamp(0.6875rem,3.4cqw,1.0625rem);padding:0.5rem;box-shadow:0 0 4.375rem -0.5rem #0da9a6}
.orbit-ring{position:absolute;inset:0;animation:orbspin var(--dur,64s) linear infinite var(--dir,normal)}
@keyframes orbspin{to{transform:rotate(360deg)}}
.pn-pos{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(calc(var(--a) * 1deg)) translateY(calc(var(--R) * -1))}
.pn-cc{position:absolute;left:0;top:0;transform:translate(-50%,-50%) rotate(calc(var(--a) * -1deg));animation:orbcc var(--dur,64s) linear infinite var(--dir,normal)}
@keyframes orbcc{from{transform:translate(-50%,-50%) rotate(calc(var(--a) * -1deg))}to{transform:translate(-50%,-50%) rotate(calc(var(--a) * -1deg - 360deg))}}
.orbit:hover .orbit-ring,.orbit:hover .pn-cc{animation-play-state:paused}
.orbit .pn-shape{width:var(--ps)!important;height:var(--ps)!important}
.orbit-ring.inner .pn-shape{width:calc(var(--ps) * .8)!important;height:calc(var(--ps) * .8)!important}
.orbit .pn-pos:hover{z-index:9}
.orbit-ring,.pn-pos,.pn-cc{pointer-events:none}
.orbit .pn{pointer-events:auto}
.orbit .pn-box{border-radius:1.125rem}
.orbit .pn-name,.orbit .pn small{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(5,12,16,.9);color:#fff;padding:0.1875rem 0.625rem;border-radius:6.1875rem;opacity:0;pointer-events:none;transition:opacity .2s;margin:0.375rem 0 0;z-index:8;font-size:0.75rem}
.orbit .pn:hover .pn-name{opacity:1}
.orbit .pn small{display:none}
@media (prefers-reduced-motion:reduce){.pn,.pn-blob,.orbit-ring,.pn-cc{animation:none!important}.pn-marq{overflow-x:auto}}
.pn-zone{overflow:visible}

@media print{#pubView{display:none!important}}


/* =================== footer: one level, map on the left =================== */
.ft-in{grid-template-columns:minmax(0,1.15fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,1.4fr);align-items:stretch;gap:1.875rem}
.ft-in>*{min-width:0}
.ft h4{margin:0 0 1rem;min-height:3.25rem;display:flex;align-items:center;font-size:1rem}
.ft-logo{min-height:3.25rem;margin-bottom:1rem}
.ft-mapcol{display:flex;flex-direction:column}
.ft-mapcol .map-card{flex:1;display:flex;flex-direction:column}
.ft-mapcol .map-art{flex:1;min-height:8rem}
.ft-mapcol .map-frame{flex:1;height:auto;min-height:10.625rem}
.ft-row{overflow-wrap:anywhere}
.zdiv + .ft{margin-top:0}
@media (max-width:1000px){.ft-in{grid-template-columns:minmax(0,1fr) minmax(0,.72fr) minmax(0,1fr) minmax(0,1.25fr);gap:1.125rem;padding-inline:1rem}.ft-mapcol{grid-column:auto}.ft-logo b{font-size:1rem}}
@media (max-width:860px){.ft-in{grid-template-columns:1fr 1fr;gap:1.625rem 1.125rem}.ft-mapcol{grid-column:auto}}
@media (max-width:560px){.ft-in{grid-template-columns:1fr}}

/* =================== cinematic scenes =================== */
#homepage,#pubView{overflow-x:clip}
.cine{position:relative;isolation:isolate}
.cine::before,.cine::after{content:'';position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none}
.cine::before{background:
  radial-gradient(ellipse 55% 75% at 12% 12%,color-mix(in srgb,var(--zc) 32%,transparent),transparent 68%),
  radial-gradient(ellipse 45% 62% at 92% 94%,color-mix(in srgb,var(--zc2) 26%,transparent),transparent 70%),
  linear-gradient(180deg,#04080b,#071016 50%,#04080b)}
.cine::after{background:
  radial-gradient(ellipse 120% 95% at 50% 50%,transparent 52%,rgba(0,0,0,.62) 100%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}
.th-light .cine::before{background:
  radial-gradient(ellipse 55% 75% at 12% 12%,color-mix(in srgb,var(--zc) 17%,transparent),transparent 68%),
  radial-gradient(ellipse 45% 62% at 92% 94%,color-mix(in srgb,var(--zc2) 15%,transparent),transparent 70%),
  linear-gradient(180deg,#fafbfa,#edf1ef 50%,#fafbfa)}
.th-light .cine::after{background:radial-gradient(ellipse 120% 95% at 50% 50%,transparent 62%,rgba(21,36,45,.09) 100%)}
.cine.pr{padding-block:5.25rem}
.cine.hg{padding-block:4.875rem}
.cine.reveal{transform:translateY(2.25rem) scale(.985);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.cine.reveal.in{opacity:1;transform:none}
.cine .pr-head h2,.cine.hg h2{font-size:clamp(1.875rem,5.6vw,3.75rem);letter-spacing:-.4px;line-height:1.35}
.cine .sechead h2{font-size:clamp(1.3125rem,2.8vw,1.75rem)}
.cine :is(.pr-head h2,.sechead h2,.hg-text h2,.pr-banner h2){text-shadow:0 0.5rem 2.75rem color-mix(in srgb,var(--zc) 55%,transparent)}
.cine .sechead h2::before{background:linear-gradient(180deg,var(--zc),var(--zc2))}
.cine .pr-head .pr-eyebrow{display:flex;align-items:center;justify-content:center;gap:0.75rem;letter-spacing:2px;color:var(--zc)}
.cine .pr-head .pr-eyebrow::before,.cine .pr-head .pr-eyebrow::after{content:'';width:2.375rem;height:1px;background:linear-gradient(90deg,transparent,var(--zc))}
.cine .pr-head .pr-eyebrow::after{transform:scaleX(-1)}
.cine .hg-eyebrow::before{content:'';display:inline-block;width:1.875rem;height:2px;margin-inline-end:0.625rem;vertical-align:middle;background:var(--zc)}
.cine .pr-rule{background:linear-gradient(90deg,var(--zc),var(--zc2));box-shadow:0 0 1.375rem var(--zc)}
.pr-media::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 55%,rgba(0,0,0,.5));z-index:1;pointer-events:none}
.pr-media .pr-img,.hg-img{animation:kenburns 26s ease-in-out infinite alternate;transform-origin:50% 40%}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
.hg-media::before,.hg-media::after{content:'';position:absolute;inset-inline:0;height:8%;background:#000;z-index:1;pointer-events:none}
.hg-media::before{top:0}.hg-media::after{bottom:0}
.hg-media{box-shadow:0 2.5rem 5.625rem -2.5rem var(--a1),0 0 0 1px rgba(255,255,255,.07)}
.hg-play{z-index:3}
.hg-ph{z-index:2}

/* colour-coded film-strip divider between landing pages */
.zd-film{position:relative;height:clamp(2.625rem,6vw,3.75rem);background:#04090c;display:flex;align-items:center;justify-content:center;overflow:hidden;border-block:1px solid rgba(255,255,255,.06)}
.zd-film::before,.zd-film::after{content:'';position:absolute;inset-inline:0;height:0.375rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.17) 0 0.5625rem,transparent 0.5625rem 1.375rem);opacity:.75}
.zd-film::before{top:0.375rem}.zd-film::after{bottom:0.375rem}
.zdiv-line{position:absolute;inset-inline:0;top:50%;height:0.1875rem;transform:translateY(-50%);background:linear-gradient(90deg,transparent,var(--c1) 14%,var(--c2) 86%,transparent);box-shadow:0 0 1.25rem var(--c1),0 0 2.75rem var(--c2);overflow:hidden}
.zdiv-line::after{content:'';position:absolute;top:0;bottom:0;left:-8.125rem;width:6.875rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);animation:zshine 6s linear infinite}
@keyframes zshine{to{left:100%}}
.zdiv-chip{position:relative;z-index:2;color:#fff;padding:0.25rem 1.125rem;border-radius:6.1875rem;font-size:0.7188rem;font-weight:800;letter-spacing:.3px;border:1.5px solid transparent;background:linear-gradient(#04090c,#04090c) padding-box,linear-gradient(90deg,var(--c1),var(--c2)) border-box;box-shadow:0 0 1.125rem color-mix(in srgb,var(--c2) 40%,transparent)}

/* cinematic hero bands on the public pages */
:is(#homepage,#pubView) :is(.pp-hero,.cp-hero,.ap-hero){margin:0;border-radius:0!important;border-block:clamp(0.625rem,2.2vw,1.375rem) solid #000;position:relative;box-shadow:inset 0 0 9.375rem 1.875rem rgba(0,0,0,.55)}
.pp-hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E"),linear-gradient(120deg,#07a869,#0da9a6 55%,#15445a)}
.ap-hero{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E"),linear-gradient(120deg,#15445a,#0da9a6 60%,#07a869)}
:is(.pp-hero-in,.cp-hero-in,.ap-hero-in){padding-block:clamp(3.375rem,9vw,6.125rem)}
:is(.pp-hero,.cp-hero,.ap-hero) h1{font-size:clamp(2rem,6.4vw,4.125rem);text-shadow:0 0.625rem 3.125rem rgba(0,0,0,.45);letter-spacing:-.4px}
.th-light :is(.pp-hero,.cp-hero,.ap-hero){border-block-width:0;box-shadow:none}
@media (prefers-reduced-motion:reduce){.pr-media .pr-img,.hg-img{animation:none}.zdiv-line::after{animation:none;display:none}.cine.reveal{transition:none;transform:none;opacity:1}}
@media print{.zdiv{display:none!important}}


/* =================== GALLERY ENGINE v3 =================== */
.gal{--cols:3;--gap:1rem;--rad:1rem;--ratio:auto;position:relative}
.gal .gi{margin:0;position:relative;min-width:0}
.gal .gi-btn{display:block;width:100%;padding:0;border:0;background:var(--surf2);color:inherit;text-align:start;cursor:pointer;border-radius:var(--rad);overflow:hidden;position:relative;aspect-ratio:var(--ratio);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.gal .gi-btn img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.gal .gi-btn:focus-visible{outline:0.1875rem solid var(--teal);outline-offset:0.1875rem}
.gi-fb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:9.375rem;background:linear-gradient(135deg,var(--forest),#c1b489);color:#fff}
.gi-album .gi-btn{aspect-ratio:var(--ratio)}
.gal-albums .gi-btn{min-height:8.125rem}
/* captions / labels */
.gal figcaption{padding:0.5625rem 0.25rem 0;font-size:0.8125rem;color:var(--soft);line-height:1.7}
.gl-top .gi figcaption{padding:0 0.25rem 0.5625rem}
.gl-overlay .gi figcaption{position:absolute;inset-inline:0;bottom:0;padding:2.375rem 0.875rem 0.75rem;color:#fff;background:linear-gradient(0deg,rgba(4,10,13,.88),transparent);border-radius:0 0 var(--rad) var(--rad);pointer-events:none}
.gl-overlay .gi figcaption .al-rep{pointer-events:auto}
.gl-overlay .alc-t,.gl-overlay .alc-d,.gl-overlay .alc-n{color:#fff}
.alc-cap{display:flex;flex-direction:column;gap:2px}
.alc-t{display:block;color:var(--ink);font-size:0.9688rem}
.alc-d{font-size:0.7812rem;color:var(--soft)}
.alc-n{font-size:0.7188rem;color:var(--soft)}
/* shadows & hover */
.gsh-soft .gi-btn{box-shadow:0 0.375rem 1rem -0.5rem rgba(0,0,0,.45)}
.gsh-medium .gi-btn{box-shadow:0 0.875rem 1.875rem -0.875rem rgba(0,0,0,.62)}
.gsh-strong .gi-btn{box-shadow:0 1.625rem 3.125rem -1rem rgba(0,0,0,.85)}
.gh-lift .gi-btn:hover{transform:translateY(-0.4375rem)}
.gh-zoom .gi-btn:hover img{transform:scale(1.1)}
.gh-tint .gi-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,168,105,.58),rgba(13,169,166,.1));opacity:0;transition:opacity .3s;pointer-events:none}
.gh-tint .gi-btn:hover::after{opacity:1}
.gh-glow .gi-btn:hover{box-shadow:0 0 0 0.1875rem var(--forest),0 0 2.25rem 0.25rem rgba(7,168,105,.6)}
/* entry motion (revealed by IntersectionObserver) */
.gal:not(.ge-none) .gi{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(min(var(--i),14) * 70ms)}
.gal.ge-up .gi{transform:translateY(2rem)}
.gal.ge-zoom .gi{transform:scale(.88)}
.gal.ge-slide .gi{transform:translateX(2.875rem)}
.gal .gi.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gal .gi{opacity:1!important;transform:none!important;transition:none!important}.gal .gi-btn,.gal .gi-btn img{transition:none}}
/* ---- 12 styles ---- */
.gs-masonry{column-count:var(--cols);column-gap:var(--gap)}
.gs-masonry .gi{break-inside:avoid;margin-bottom:var(--gap)}
.gs-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}
.gs-mosaic,.gs-puzzle{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:8.75rem;grid-auto-flow:dense;gap:var(--gap)}
.gs-mosaic .gi,.gs-puzzle .gi,.gs-bento .gi{height:100%}
.gs-mosaic .gi,.gs-puzzle .gi,.gs-bento .gi{display:flex;flex-direction:column}
.gs-mosaic .gi-btn,.gs-puzzle .gi-btn,.gs-bento .gi-btn{aspect-ratio:auto;flex:1;min-height:0;height:auto}
.gs-mosaic figcaption,.gs-puzzle figcaption,.gs-bento figcaption{flex:none;padding-top:0.375rem;line-height:1.4;max-height:3.4em;overflow:hidden}
.gs-mosaic .gi:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.gs-mosaic .gi:nth-child(7n+4){grid-row:span 2}
.gs-mosaic .gi:nth-child(7n+6){grid-column:span 2}
.gs-puzzle{grid-auto-rows:9.375rem}
.gs-puzzle .gi:nth-child(6n+1){grid-column:span 2}
.gs-puzzle .gi:nth-child(6n+3){grid-row:span 2}
.gs-puzzle .gi:nth-child(6n+5){grid-column:span 2;grid-row:span 2}
.gs-puzzle .gi-btn{border-radius:var(--rad) calc(var(--rad) * 3) var(--rad) calc(var(--rad) * 3)}
.gs-puzzle .gi:nth-child(even) .gi-btn{border-radius:calc(var(--rad) * 3) var(--rad) calc(var(--rad) * 3) var(--rad)}
.gs-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:10.625rem;grid-auto-flow:dense;gap:var(--gap)}
.gs-bento .gi:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
.gs-bento .gi:nth-child(8n+2){grid-column:span 2}
.gs-bento .gi:nth-child(8n+4){grid-row:span 2}
.gs-bento .gi:nth-child(8n+6){grid-column:span 2}
.gs-filmstrip{display:flex;gap:var(--gap);overflow-x:auto;padding:1.875rem 1rem;background:#05090c;border-radius:var(--rad);scrollbar-width:thin}
.gs-filmstrip .gi{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:9.375rem}
.gs-filmstrip .gi::before,.gs-filmstrip .gi::after{content:'';position:absolute;inset-inline:0;height:0.5625rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 0.6875rem,transparent 0.6875rem 1.5rem);z-index:2;pointer-events:none}
.gs-filmstrip .gi::before{top:-1.25rem}.gs-filmstrip .gi::after{bottom:-1.25rem}
.gs-filmstrip figcaption{color:#b8c6d8}
.gs-slider{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;padding:0.375rem 2px 0.875rem;scrollbar-width:thin}
.gs-slider .gi{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));min-width:12.5rem;scroll-snap-align:start}
.gal-stage{position:relative;overflow-x:clip}
.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:2.625rem;height:2.625rem;border-radius:50%;border:0;background:rgba(5,12,16,.72);color:#fff;font-size:1.375rem;line-height:1;cursor:pointer;z-index:30;box-shadow:0 0.5rem 1.25rem -0.5rem rgba(0,0,0,.7)}
.gal-arrow:hover{background:var(--forest)}
.gal-prev{inset-inline-start:0.375rem}.gal-next{inset-inline-end:0.375rem}
.gs-coverflow{height:clamp(15.625rem,40vw,26.25rem);perspective:68.75rem;overflow:visible}
.gs-coverflow .gi{position:absolute;left:50%;top:0;width:min(46%,26.25rem);height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s}
.gs-coverflow .gi-btn{height:100%;aspect-ratio:auto}
.gs-coverflow figcaption{position:absolute;inset-inline:0;bottom:0;padding:2.125rem 0.75rem 0.625rem;color:#fff;background:linear-gradient(0deg,rgba(4,10,13,.85),transparent);border-radius:0 0 var(--rad) var(--rad);pointer-events:none}
.gs-coverflow .gi:not(.cf-cur) figcaption{display:none}
.gs-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:calc(var(--gap) * 1.4)}
.gs-editorial .gi{grid-column:span 6}
.gs-editorial .gi:nth-child(1){grid-column:span 12}
.gs-editorial .gi:nth-child(1) .gi-btn{aspect-ratio:21/9}
.gs-editorial .gi:nth-child(4n+2){grid-column:span 7}.gs-editorial .gi:nth-child(4n+3){grid-column:span 5}
.gs-editorial .gi:nth-child(4n+4){grid-column:span 5}.gs-editorial .gi:nth-child(4n+5){grid-column:span 7}
.gs-editorial figcaption{font-size:0.9375rem;font-weight:700;color:var(--ink);border-top:2px solid var(--forest);margin-top:0.625rem;padding-top:0.5rem}
.gs-story{display:flex;flex-direction:column;gap:calc(var(--gap) * 2)}
.gs-story .gi-btn{aspect-ratio:auto;height:min(78vh,42.5rem)}
.gs-latest{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.125rem,1fr));grid-auto-flow:dense;gap:var(--gap)}
.gs-latest .gi:first-child{grid-column:span 2;grid-row:span 2}
.gs-latest .gi:first-child::after{content:'جديد';position:absolute;top:0.625rem;inset-inline-start:0.625rem;background:var(--forest);color:#fff;font-size:0.6875rem;font-weight:800;padding:0.1875rem 0.6875rem;border-radius:6.1875rem;z-index:3;pointer-events:none}
.gs-organic{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--gap)}
.gs-organic .gi{flex:0 1 calc(100% / var(--cols) - var(--gap) - 1rem)}
.gs-organic .gi:nth-child(3n+1){flex-basis:calc(100% / var(--cols) - var(--gap) + 0.625rem)}
.gs-organic .gi:nth-child(3n+2){flex-basis:calc(100% / var(--cols) - var(--gap) - 2.625rem)}
.gs-organic .gi-btn{border-radius:58% 42% 63% 37% / 46% 54% 46% 54%}
.gs-organic .gi:nth-child(4n+2) .gi-btn{border-radius:40% 60% 38% 62% / 58% 42% 58% 42%}
.gs-organic .gi:nth-child(4n+3) .gi-btn{border-radius:64% 36% 52% 48% / 38% 62% 38% 62%}
.gs-organic .gi:nth-child(4n+4) .gi-btn{border-radius:46% 54% 40% 60% / 62% 38% 54% 46%}
.gs-organic .gi:nth-child(odd) .gi-btn{rotate:-2deg}.gs-organic .gi:nth-child(even) .gi-btn{rotate:2deg}
.gs-organic figcaption{text-align:center}
@media (max-width:760px){
  .gs-grid,.gs-mosaic,.gs-puzzle{grid-template-columns:repeat(min(var(--cols),2),minmax(0,1fr))}
  .gs-masonry{column-count:min(var(--cols),2)}
  .gs-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gs-bento .gi:nth-child(8n+6){grid-column:span 1}
  .gs-editorial .gi,.gs-editorial .gi:nth-child(n){grid-column:span 12}
  .gs-slider .gi,.gs-filmstrip .gi{flex-basis:78%}
  .gs-organic .gi,.gs-organic .gi:nth-child(n){flex-basis:calc(50% - var(--gap))}
  .gs-coverflow .gi{width:64%}
}
.al-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-bottom:1.125rem;font-size:0.8125rem;color:var(--soft)}
.al-crumb button{background:none;border:0;color:var(--teal);cursor:pointer;font-weight:700;padding:0}
.al-crumb button:hover{text-decoration:underline}.al-crumb b{color:var(--ink)}
.al-h{font-size:1.0625rem;margin:1.625rem 0 0.875rem;display:flex;align-items:center;gap:0.625rem}
.al-h::before{content:'';width:0.25rem;height:1.25rem;border-radius:6.1875rem;background:linear-gradient(180deg,var(--forest),var(--teal))}
.ap-body > .al-h:first-child,.ap-body > .al-crumb + .al-h{margin-top:0.25rem}

/* =================== photo viewer =================== */
html.av-lock{overflow:hidden}
.av{position:fixed;inset:0;z-index:1200;background:rgba(3,7,10,.96);display:grid;grid-template-rows:auto 1fr auto auto;grid-template-columns:auto 1fr auto;opacity:0;transition:opacity .18s;color:#fff}
.av[hidden]{display:none}
.av.show{opacity:1}
.av-top{grid-column:1/-1;display:flex;align-items:center;gap:0.875rem;padding:0.75rem 1.125rem}
.av-count{font-size:0.8125rem;opacity:.85;min-width:3.75rem;direction:ltr;text-align:start}
.av-title{flex:1;font-size:0.9375rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-tools{display:flex;gap:0.5rem}
.av-btn{width:2.375rem;height:2.375rem;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.av-btn:hover{background:rgba(255,255,255,.24)}
.av-btn[hidden]{display:none}
.av-stage{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:0.25rem}
.av-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:0.5rem;opacity:0;transform:scale(.97);transition:opacity .25s,transform .25s;box-shadow:0 1.875rem 5rem -1.25rem #000}
.av-img.in{opacity:1;transform:none}
.av-nav{grid-row:2;align-self:center;width:2.875rem;height:4rem;margin:0 0.5rem;border:0;border-radius:0.875rem;background:rgba(255,255,255,.1);color:#fff;font-size:1.75rem;cursor:pointer}
.av-nav:hover{background:var(--forest)}
.av-prev{grid-column:1}.av-next{grid-column:3}
.av-nav[hidden]{display:none}
.av-bar{grid-column:1/-1;grid-row:3;height:0.1875rem;background:rgba(255,255,255,.08)}
.av-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--forest),var(--teal))}
.av-info{grid-column:1/-1;grid-row:4;text-align:center;padding:0.625rem 1.125rem;font-size:0.875rem;display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;align-items:center}
.av-info[hidden]{display:none}
.av-rep{background:var(--forest);border:0;color:#fff;border-radius:6.1875rem;padding:0.375rem 0.875rem;font-weight:700;cursor:pointer;font-size:0.7812rem}
.av-thumbs{grid-column:1/-1;grid-row:5;display:flex;gap:0.5rem;overflow-x:auto;padding:0.625rem 1.125rem 1rem;justify-content:center}
.av-thumbs[hidden]{display:none}
.av-th{flex:none;width:4rem;height:3rem;padding:0;border:2px solid transparent;border-radius:0.5rem;overflow:hidden;background:#111;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s}
.av-th img{width:100%;height:100%;object-fit:cover;display:block}
.av-th.on,.av-th:hover{opacity:1}.av-th.on{border-color:var(--forest)}
.av{grid-template-rows:auto 1fr auto auto auto}
@media (max-width:640px){.av-nav{width:2.25rem;height:3.25rem;margin:0 0.1875rem;font-size:1.375rem}.av-title{display:none}}

/* =================== albums management (nested) =================== */
.alp-head{display:flex;flex-wrap:wrap;gap:0.875rem;justify-content:space-between;align-items:center;margin-bottom:0.875rem}
.alp-h{margin:0;font-size:1.75rem;color:var(--fdark,#15445a)}
.alp-sub{color:var(--soft);font-size:0.875rem;margin-top:0.25rem}
.alp-tools{display:flex;gap:0.875rem;align-items:center;flex-wrap:wrap}
.alp-new{padding:0.75rem 1.375rem;font-size:0.9375rem;border-radius:0.875rem}
.alc-group{margin-bottom:0.875rem}
.alc{display:flex;gap:1rem;align-items:center;background:var(--surf);border:1px solid var(--line);border-radius:1.125rem;padding:1rem 1.125rem}
.alc.off{opacity:.62}
.alc-ico{width:5.375rem;height:5.375rem;border-radius:1.125rem;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;background-size:cover;background-position:center}
.alc-ico.main{background-color:#0a7a4d;background-image:linear-gradient(135deg,#0b7a4a,#c9a94d)}
.alc-ico.plain,.alc-ico.sub{background-color:#c9a94d}
.alc-ico[style*="url("]{background-color:transparent}
.alc-body{flex:1;min-width:0}
.alc-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.alc-name b{font-size:18px}
.alc-off{background:var(--btint);color:var(--brass);font-size:0.6875rem;font-weight:800;border-radius:6.1875rem;padding:2px 0.625rem}
.alc-meta{color:var(--soft);font-size:0.8438rem;margin:0.1875rem 0 0.75rem}
.alc-acts{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}
.alc-acts button{display:inline-flex;align-items:center;gap:0.375rem;background:none;border:0;color:var(--soft);font-size:0.8438rem;cursor:pointer;padding:0.5rem 0.625rem;border-radius:0.625rem}
.alc-acts button:hover{background:var(--surf2);color:var(--ink)}
.alc-acts .ic{padding:0.5625rem}
.alc-acts .ic.danger{background:#ffe0e0;color:#d6334a;margin-inline-start:auto;padding:0.75rem 0.875rem;border-radius:0.75rem}
.th-light .alc-acts .ic.danger,.alc-acts .ic.danger{background:rgba(214,51,74,.14)}
.alc-subs{display:flex;flex-direction:column;gap:0.75rem;margin:0.75rem 0 0;margin-inline-start:3.25rem}
.alc-sub{background:var(--surf2)}
.alc-sub .alc-ico{width:4.5rem;height:4.5rem;border-radius:1rem}
.alc-sub .alc-name b{font-size:1.0312rem}
.alp-help{margin-top:1.375rem}
.alp-help h3{margin:0 0 0.75rem;color:var(--teal);display:flex;align-items:center;gap:0.5rem}
.alp-help ul{margin:0;padding-inline-start:1.375rem;color:var(--soft);line-height:2.1;font-size:0.875rem}
.alp-crumb{font-size:0.875rem;color:var(--soft);margin:2px 0 0.75rem}.alp-crumb b{color:var(--ink)}
.alp-parent{display:flex;flex-direction:column;gap:0.375rem;margin-top:0.75rem;font-size:0.7812rem;font-weight:700;color:var(--soft)}
.alp-parent select{border:1px solid var(--line);border-radius:0.625rem;padding:0.625rem 0.75rem;background:var(--bg);color:var(--ink);font-weight:400}
.alp-hint{font-size:0.75rem;color:var(--brass);margin-top:0.375rem}
.alp-kids{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.625rem}
.alp-kid{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--line);background:var(--surf2);color:var(--ink);border-radius:0.75rem;padding:0.5625rem 0.875rem;cursor:pointer}
.alp-kid small{color:var(--soft)}
@media (max-width:640px){.alc{flex-wrap:wrap}.alc-ico{width:4rem;height:4rem}.alc-subs{margin-inline-start:1.125rem}}

/* =================== gallery management =================== */
.gsp .card{margin-bottom:1rem}
.gs-h{margin:0 0 0.25rem;font-size:1.1875rem;color:var(--teal);display:flex;align-items:center;gap:0.625rem}
.gs-hr{border:0;border-top:2px solid var(--line);margin:0.75rem 0 1rem;opacity:.7}
.gs-sh{font-size:0.875rem;margin:0 0 0.75rem;color:var(--soft)}
.gs-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.375rem,1fr));gap:0.75rem;margin-bottom:1.25rem}
.gs-tile{display:flex;flex-direction:column;align-items:center;gap:0.625rem;padding:0.75rem 0.625rem 0.875rem;border:2px solid var(--line);border-radius:1rem;background:var(--surf);color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.gs-tile:hover{border-color:var(--teal)}
.gs-tile.on{border-color:var(--forest);box-shadow:0 0 0 0.1875rem rgba(7,168,105,.25)}
.gs-ti{width:100%;height:4rem;border-radius:0.75rem;display:flex;align-items:center;justify-content:center;color:var(--forest);background:linear-gradient(135deg,rgba(7,168,105,.1),rgba(193,180,137,.28))}
.gs-tile b{font-size:0.8438rem}
.gs-g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.125rem,1fr));gap:1rem 1.375rem;margin-bottom:1rem}
.gs-f{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem}
.gs-g2 .gs-f{margin-bottom:0}
.gs-fl{font-size:0.8438rem;font-weight:700;color:var(--soft)}
.gs-fl b{color:var(--ink)}
.gs-r{width:100%;accent-color:var(--forest);height:1.5rem}
.gs-s{border:1px solid var(--line);border-radius:0.75rem;padding:0.75rem 0.875rem;background:var(--bg);color:var(--ink);font-size:0.875rem}
.gs-row{display:flex;align-items:center;justify-content:space-between;gap:0.875rem;background:var(--surf2);border-radius:0.75rem;padding:0.875rem 1rem;margin-bottom:0.75rem;font-size:0.9062rem}
.gs-note{font-size:0.7812rem;color:var(--soft);margin-bottom:0.875rem}
.gs-savebar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:0.625rem;align-items:center;padding:0.75rem 0.875rem;background:var(--surf);border:1px solid var(--line);border-radius:0.875rem;box-shadow:0 -0.625rem 1.875rem -1.125rem rgba(0,0,0,.6);z-index:5}
@media print{.av{display:none!important}}


/* =================== SCHOOLS =================== */
#schoolSwitch{margin:0.75rem 0.875rem 0.25rem}
#schoolSwitch[hidden]{display:none}
.ssw-t{display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;font-weight:800;color:var(--soft);margin-bottom:0.5rem}
.ssw-t small{font-weight:600;font-size:0.6562rem;background:var(--surf2);padding:2px 0.5625rem;border-radius:6.1875rem}
.ssw-opts{display:flex;flex-direction:column;gap:0.375rem}
.ssw-o{display:flex;align-items:center;gap:0.5625rem;width:100%;text-align:start;padding:0.5625rem 0.6875rem;border-radius:0.75rem;border:1px solid var(--line);background:var(--surf2);color:var(--ink);font-weight:700;font-size:0.8125rem;cursor:pointer;transition:border-color .2s,background .2s}
.ssw-o i{width:0.625rem;height:0.625rem;border-radius:50%;background:var(--c);box-shadow:0 0 0 0.1875rem color-mix(in srgb,var(--c) 28%,transparent);flex:none}
.ssw-o small{margin-inline-start:auto;font-size:0.6875rem;color:var(--soft);background:var(--surf);padding:1px 0.5625rem;border-radius:6.1875rem}
.ssw-o:hover{border-color:var(--c)}
.ssw-o.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 15%,var(--surf2));box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 30%,transparent)}
#dashApp .side-head{border-top:0.1875rem solid var(--school,transparent)}
.sch-ctx{margin-inline-start:0.75rem;display:inline-flex;align-items:center;gap:0.5rem}
.schip{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.75rem;font-weight:700;padding:0.1875rem 0.6875rem;border-radius:6.1875rem;background:color-mix(in srgb,var(--sc) 16%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--sc) 55%,transparent);white-space:nowrap}
.schip i{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--sc);flex:none}
.schip.sm{font-size:0.6875rem;padding:2px 0.5625rem}
.row[style*="--sc"]{border-inline-start:0.25rem solid var(--sc)}
.sch-sel{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.75rem;font-weight:700;color:var(--soft)}
.sch-sel select{border:1px solid var(--line);border-radius:0.625rem;padding:0.4375rem 0.625rem;background:var(--bg);color:var(--ink)}
.sch-card{margin-top:1rem}
.sch-h{margin:0 0 0.375rem;font-size:1.1875rem;color:var(--teal)}
.sch-note{margin:0 0 0.875rem;font-size:0.8125rem;color:var(--soft);line-height:1.9}
.sch-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0.75rem;margin-bottom:1rem}
.sch-mode{display:flex;flex-direction:column;gap:0.25rem;padding:0.875rem 1rem;border:2px solid var(--line);border-radius:1rem;background:var(--surf2);cursor:pointer;position:relative}
.sch-mode input{position:absolute;opacity:0;pointer-events:none}
.sch-mode.on{border-color:var(--forest);box-shadow:0 0 0 0.1875rem rgba(7,168,105,.2)}
.sch-mode b{font-size:0.9062rem}.sch-mode span{font-size:0.7812rem;color:var(--soft);line-height:1.8}
.sch-row{display:grid;grid-template-columns:9.375rem auto minmax(9.375rem,1fr) minmax(16.25rem,1.3fr) auto;gap:0.75rem;align-items:center;border:1px solid var(--line);border-inline-start:0.3125rem solid var(--sc);border-radius:1rem;padding:0.75rem 0.875rem;margin-bottom:0.625rem;background:var(--surf2)}
.sch-id b{display:block;font-size:0.875rem}.sch-id small{font-size:0.6875rem;color:var(--soft)}
.sch-colw{position:relative;width:2.625rem;height:2.625rem;border-radius:50%;background:var(--sc);display:block;cursor:pointer;box-shadow:0 0 0 0.1875rem var(--surf),0 0 0 0.25rem var(--line);overflow:hidden}
.sch-colw input{position:absolute;inset:-0.5rem;width:calc(100% + 1rem);height:calc(100% + 1rem);opacity:0;cursor:pointer;padding:0;border:0}
.sch-name{border:1px solid var(--line);border-radius:0.625rem;padding:0.625rem 0.75rem;background:var(--bg);color:var(--ink)}
.sch-qr{display:flex;gap:0.75rem;align-items:center;min-width:0}
.sch-qr img{width:6rem;height:6rem;border-radius:0.625rem;background:#fff;padding:0.25rem;flex:none;border:0.1875rem solid var(--sc)}
.sch-qi{min-width:0}.sch-link{font-size:0.6875rem;color:var(--soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14.375rem;margin-bottom:0.375rem}
.sch-btns{display:flex;flex-wrap:wrap;gap:0.375rem}.sch-btns button{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:0.5rem;padding:0.3125rem 0.625rem;font-size:0.7188rem;cursor:pointer}.sch-btns button:hover{border-color:var(--teal);color:var(--teal)}
.sch-del{width:2.125rem;height:2.125rem;border-radius:50%;border:0;background:rgba(214,51,74,.14);color:#d6334a;cursor:pointer}.sch-del-sp{width:2.125rem}
.sch-foot{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;margin-top:0.5rem}
.sch-chk,.sch-mn{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.8125rem}.sch-mn input{border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.625rem;background:var(--bg);color:var(--ink);min-width:13.75rem}
.sch-hint{margin-top:0.75rem;font-size:0.7812rem;color:var(--brass);background:var(--btint);padding:0.625rem 0.875rem;border-radius:0.75rem}
@media (max-width:900px){.sch-row{grid-template-columns:1fr 1fr}.sch-qr{grid-column:1/-1}}
.sch-pills{display:flex;gap:0.375rem;flex-wrap:wrap;justify-content:center}
#siteSchools{flex:1;display:flex;justify-content:center;min-width:0}
.sch-pill{display:inline-flex;align-items:center;gap:0.4375rem;border:1px solid var(--line);background:var(--surf2);color:var(--ink);border-radius:6.1875rem;padding:0.3125rem 0.875rem;font-weight:700;font-size:0.7812rem;cursor:pointer;transition:all .2s}
.sch-pill i{width:0.5625rem;height:0.5625rem;border-radius:50%;background:var(--sc)}
.sch-pill.on{border-color:var(--sc);background:color-mix(in srgb,var(--sc) 20%,var(--surf2));box-shadow:0 0 0 2px color-mix(in srgb,var(--sc) 30%,transparent)}
.sch-legend{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0 0 1rem}
.sch-legend button{display:inline-flex;align-items:center;gap:0.4375rem;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:6.1875rem;padding:0.375rem 0.875rem;font-weight:700;font-size:0.7812rem;cursor:pointer}
.sch-legend button i{width:0.625rem;height:0.625rem;border-radius:50%;background:var(--sc)}
.sch-legend button small{color:var(--soft);font-weight:600}
.sch-legend button.on{border-color:var(--sc,var(--forest));background:color-mix(in srgb,var(--sc,var(--forest)) 16%,var(--surf));box-shadow:0 0 0 2px color-mix(in srgb,var(--sc,var(--forest)) 28%,transparent)}
.fcard[data-school]{border-inline-start:0.25rem solid var(--sc)}
.fcard .schip{align-self:flex-start;margin-bottom:0.375rem}
.fcard[hidden],.fgroup[hidden]{display:none!important}
.fgroup{margin-bottom:1.625rem}.fgroup h3{font-size:1rem;margin:0 0 0.75rem;display:flex;align-items:center;gap:0.5rem}.fgroup h3 small{color:var(--soft);font-weight:600}
.rpt{border-top:0.375rem solid var(--sc,transparent)}
#posterPrint{display:none}
@media print{
  body.print-poster > *:not(#posterPrint){display:none!important}
  body.print-poster #posterPrint{display:flex!important;min-height:100vh;align-items:center;justify-content:center;background:#fff;color:#111}
  #posterPrint .pp-frame{width:32.5rem;border:0.375rem solid var(--sc);border-radius:1.75rem;padding:2.75rem 2.25rem;text-align:center}
  #posterPrint .pp-stripe{height:0.875rem;border-radius:6.1875rem;background:var(--sc);margin-bottom:1.625rem}
  #posterPrint h1{font-size:2.125rem;margin:0 0 0.625rem}#posterPrint p{font-size:1rem;margin:0 0 1.25rem;color:#444}
  #posterPrint img{width:21.25rem;height:21.25rem}#posterPrint .pp-url{font-size:0.75rem;color:#555;margin-top:0.875rem;word-break:break-all}
}

/* =================== PALETTE + SHAPE PICKERS =================== */
.pal-h{margin:1rem 0 0.625rem;font-size:0.875rem;color:var(--soft)}
.pal-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr));gap:0.875rem}
.pal-c{display:flex;flex-direction:column;align-items:center;gap:0.4375rem;padding:0.875rem 0.5rem 0.75rem;border:1px solid var(--line);border-radius:1.125rem;background:var(--surf2);position:relative}
.pal-c.changed{border-color:var(--teal);box-shadow:0 0 0 2px rgba(45,212,207,.18)}
.pal-c::before{content:'';position:absolute;top:0.5625rem;inset-inline-start:0.5625rem;width:0.875rem;height:0.875rem;border-radius:50%;background:conic-gradient(#f33,#fd3,#3d3,#3dd,#33f,#d3d,#f33);opacity:.9}
.pal-sw{position:relative;width:4.875rem;height:4.875rem;border-radius:50%;background:var(--c);box-shadow:0 0 0 0.25rem var(--surf),0 0 0 0.3125rem var(--line),0 0.75rem 1.625rem -0.625rem var(--c);cursor:pointer;display:block;overflow:hidden;transition:transform .2s}
.pal-sw:hover{transform:scale(1.07)}
.pal-sw input{position:absolute;inset:-0.625rem;width:calc(100% + 1.25rem);height:calc(100% + 1.25rem);opacity:0;cursor:pointer;padding:0;border:0}
.pal-c b{font-size:0.7812rem;text-align:center;line-height:1.4}
.pal-hex{width:5.875rem;text-align:center;border:1px solid var(--line);border-radius:0.5rem;background:var(--bg);color:var(--ink);padding:0.3125rem 0.375rem;font-size:0.75rem;font-family:ui-monospace,Menlo,monospace}
.pal-reset{width:2.25rem;height:1.875rem;border-radius:0.625rem;border:1px solid var(--line);background:var(--surf);color:var(--soft);font-size:1.0625rem;line-height:1;cursor:pointer}
.pal-reset:not(:disabled){color:var(--teal);border-color:var(--teal)}.pal-reset:disabled{opacity:.35;cursor:default}
.pal-foot{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-top:1rem}.pal-hint{font-size:0.75rem;color:var(--soft)}
.pal-pv{margin-top:1rem}
.pal-prev{border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:var(--surf2);padding-bottom:0.875rem}
.pv-hero{padding:1.375rem 1.125rem;color:#fff;background:linear-gradient(120deg,var(--p-green),var(--p-teal) 55%,var(--p-blue));display:flex;flex-direction:column;gap:0.25rem}
.pv-hero span{font-size:0.75rem;opacity:.9}
.pv-row{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;padding:0.875rem 0.875rem 0.375rem}
.pv-btn{border:0;border-radius:0.625rem;padding:0.5rem 1rem;color:#fff;font-weight:800;background:var(--p-green)}.pv-b2{background:var(--p-navy)}
.pv-chip{padding:0.1875rem 0.75rem;border-radius:6.1875rem;font-size:0.75rem;font-weight:700;color:#fff}.pv-chip.c1{background:var(--p-green)}.pv-chip.c2{background:var(--p-sand);color:#15242d}.pv-chip.c3{background:var(--p-blue)}
.pv-line{height:0.25rem;margin:0.625rem 0.875rem;border-radius:6.1875rem;background:linear-gradient(90deg,var(--p-green),var(--p-sand),var(--p-blue),var(--p-teal))}
.pv-dots{display:flex;gap:0.5rem;padding:0 0.875rem}.pv-dots i{width:1.5rem;height:1.5rem;border-radius:50%}
.shp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.375rem,1fr));gap:0.625rem}
.shp-tile{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:0.75rem 0.5rem;border:2px solid var(--line);border-radius:0.875rem;background:var(--surf);color:var(--ink);cursor:pointer}
.shp-tile b{font-size:0.7188rem;text-align:center;line-height:1.5}
.shp-tile svg{color:var(--forest)}
.shp-ico{width:3.375rem;height:3.375rem;display:block;background:linear-gradient(135deg,var(--forest),var(--brass))}
.shp-tile:hover{border-color:var(--teal)}.shp-tile.on{border-color:var(--forest);box-shadow:0 0 0 0.1875rem rgba(7,168,105,.22)}

/* =================== HEADER SHAPES / SCROLL =================== */
.pubmast{transition:transform .35s ease}
.pubmast.hd-hide{transform:translateY(-125%)}
#homepage,#pubView{--hd:1.5rem;--hdh:3.5rem}
.hd-depth-s{--hd:0.875rem;--hdh:2.125rem}.hd-depth-m{--hd:1.5rem;--hdh:3.5rem}.hd-depth-l{--hd:2.375rem;--hdh:5.625rem}
.hd-scroll-static .pubmast{position:relative}
.hd-lay-left .pubmast-in{flex-direction:row-reverse}
.hd-lay-center .pubmast-in{justify-content:center}
.hd-shape-broken .pubmast,.hd-shape-concave .pubmast,.hd-shape-convex .pubmast{border-bottom:0;padding-bottom:calc(var(--hd) * .8)}
.hd-shape-broken .pubmast{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--hd)),95.833% 100%,91.667% calc(100% - var(--hd)),87.5% 100%,83.333% calc(100% - var(--hd)),79.167% 100%,75.0% calc(100% - var(--hd)),70.833% 100%,66.667% calc(100% - var(--hd)),62.5% 100%,58.333% calc(100% - var(--hd)),54.167% 100%,50.0% calc(100% - var(--hd)),45.833% 100%,41.667% calc(100% - var(--hd)),37.5% 100%,33.333% calc(100% - var(--hd)),29.167% 100%,25.0% calc(100% - var(--hd)),20.833% 100%,16.667% calc(100% - var(--hd)),12.5% 100%,8.333% calc(100% - var(--hd)),4.167% 100%,0.0% calc(100% - var(--hd)))}
.hd-shape-concave .pubmast{-webkit-mask:radial-gradient(ellipse 54% var(--hd) at 50% 100%,transparent 99%,#000 100%);mask:radial-gradient(ellipse 54% var(--hd) at 50% 100%,transparent 99%,#000 100%)}
.hd-shape-convex .pubmast{border-radius:0 0 50% 50% / 0 0 var(--hd) var(--hd)}
.hd-shape-round .pubmast{margin:0.625rem auto 0;width:min(70rem,calc(100% - 1.5rem));border-radius:62.4375rem;border:1px solid var(--line);top:0.625rem;box-shadow:0 0.875rem 2.125rem -1.125rem rgba(0,0,0,.7)}
.hd-shape-round .pubmast-in{padding-inline:1.625rem}
.hd-area-both.hd-shape-broken :is(.hero,.pp-hero,.cp-hero,.ap-hero){clip-path:polygon(0 0,100% 0,100% calc(100% - var(--hdh)),93.75% 100%,87.5% calc(100% - var(--hdh)),81.25% 100%,75.0% calc(100% - var(--hdh)),68.75% 100%,62.5% calc(100% - var(--hdh)),56.25% 100%,50.0% calc(100% - var(--hdh)),43.75% 100%,37.5% calc(100% - var(--hdh)),31.25% 100%,25.0% calc(100% - var(--hdh)),18.75% 100%,12.5% calc(100% - var(--hdh)),6.25% 100%,0.0% calc(100% - var(--hdh)))}
.hd-area-both.hd-shape-concave :is(.hero,.pp-hero,.cp-hero,.ap-hero){-webkit-mask:radial-gradient(ellipse 56% var(--hdh) at 50% 100%,transparent 99%,#000 100%);mask:radial-gradient(ellipse 56% var(--hdh) at 50% 100%,transparent 99%,#000 100%)}
.hd-area-both.hd-shape-convex :is(.hero,.pp-hero,.cp-hero,.ap-hero){clip-path:inset(0 0 0 0 round 0 0 50% 50% / 0 0 var(--hdh) var(--hdh))}
.hd-area-both.hd-shape-round :is(.hero,.pp-hero,.cp-hero,.ap-hero){clip-path:inset(0 round 0 0 2.75rem 2.75rem);margin-top:0.625rem}
@media print{.pubmast{display:none}}

/* =================== DIVIDERS: title display styles =================== */
.zdiv{position:relative}
.zd-card{display:flex;align-items:center;justify-content:center;gap:1.125rem;padding:2.25rem 1.25rem 0.375rem;max-width:65rem;margin:0 auto}
.zd-card .zd-t{font-size:clamp(1.25rem,3vw,1.875rem);font-weight:900;color:var(--ink);text-shadow:0 0.375rem 1.875rem color-mix(in srgb,var(--c2) 55%,transparent);white-space:nowrap}
.zd-card .zd-ln{flex:1;height:2px;border-radius:6.1875rem;background:linear-gradient(to left,var(--c1),var(--c2),transparent);box-shadow:0 0 0.875rem color-mix(in srgb,var(--c1) 55%,transparent)}
.zd-card .zd-ln:last-child{transform:scaleX(-1)}
.zd-only{padding-block:1.75rem 0.375rem}
.zd-bar{display:flex;align-items:center;gap:0.875rem;max-width:65rem;margin:0 auto;padding:2rem 1.25rem 0.25rem}
.zd-bar-i{width:0.375rem;height:2.25rem;border-radius:6.1875rem;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 0 1.125rem var(--c1);flex:none}
.zd-bar .zd-t{font-size:clamp(1.125rem,2.6vw,1.625rem);font-weight:900;white-space:nowrap}
.zd-bar .zd-ln{flex:1;height:2px;border-radius:6.1875rem;background:linear-gradient(to left,var(--c1),transparent)}
.zd-band{display:flex;align-items:center;justify-content:center;min-height:0.875rem;padding:0.625rem 1.25rem;background:linear-gradient(90deg,var(--c1),var(--c2));color:#fff;font-weight:900;box-shadow:0 0.875rem 2.5rem -1.125rem var(--c1)}
.zd-band .zd-t{font-size:clamp(0.9375rem,2vw,1.1875rem);letter-spacing:.3px;text-shadow:0 2px 0.75rem rgba(0,0,0,.35)}
.zd-line{display:flex;align-items:center;gap:0.75rem;max-width:65rem;margin:0 auto;padding:1.75rem 1.25rem 2px}
.zd-line .zd-t{font-size:0.7812rem;font-weight:800;letter-spacing:.5px;color:var(--c1);white-space:nowrap}
.zd-line .zd-ln{flex:1;height:1px;background:linear-gradient(to left,var(--c1),var(--c2),transparent)}
.wd-wide :is(.zd-card,.zd-bar,.zd-line){max-width:77.5rem}.wd-narrow :is(.zd-card,.zd-bar,.zd-line){max-width:55rem}

/* =================== HEALTH: reports under the landing =================== */
.hg-in + .hg-reports{margin-top:2.5rem;padding-top:1.875rem;border-top:1px solid color-mix(in srgb,var(--a1) 45%,transparent)}
.hg-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:0.75rem;margin-bottom:1rem}
.hg-rhead h3{font-size:1.25rem;display:flex;align-items:center;gap:0.625rem;margin:0}
.hg-rhead h3::before{content:'';width:0.3125rem;height:1.375rem;border-radius:6.1875rem;background:linear-gradient(180deg,var(--a1),var(--a2))}
.hg-rhead span{font-size:0.7812rem;color:var(--soft)}
.hg-nomedia .hg-in{grid-template-columns:1fr}
.hg-rsep{max-width:65rem;margin:0 auto;padding:3.75rem 1.25rem}
.hg-rsep .fcard,.hg-reports .fcard{border-color:color-mix(in srgb,var(--a1) 35%,var(--line))}

/* =================== builder additions =================== */
.hl-opt{margin-top:0.5rem}.hl-opt summary{cursor:pointer;font-size:0.75rem;color:var(--teal);font-weight:700}
.hl-optin{display:flex;flex-direction:column;gap:0.625rem;margin-top:0.625rem;padding:0.75rem;border:1px dashed var(--line);border-radius:0.75rem;background:var(--bg)}
.hl-ck{display:inline-flex;align-items:center;gap:0.4375rem;font-size:0.7812rem}
.hl-cks{display:flex;flex-wrap:wrap;gap:0.5rem 1rem}
.hl-lbl{border:1px solid var(--line);border-radius:0.5rem;padding:0.4375rem 0.625rem;background:var(--surf);color:var(--ink);font-size:0.7812rem}
.hl-sub2{font-size:0.75rem;font-weight:800;color:var(--soft);margin-top:0.25rem}
.hl-tprev{margin-top:0.75rem;border:1px solid var(--line);border-radius:0.875rem;background:#04090c;padding:0.375rem 0;overflow:hidden}
.hl-tprev .zdiv{margin:0}.hl-tprev .zd-card .zd-t,.hl-tprev .zd-bar .zd-t{color:#fff}
.hl-tnone{padding:1rem;text-align:center;color:var(--soft);font-size:0.7812rem}


/* =================== YEARS & ARCHIVE =================== */
#yearBadge{margin:0.5rem 0.875rem 2px}
.yb{display:flex;align-items:center;gap:0.625rem;width:100%;text-align:start;padding:0.5625rem 0.75rem;border-radius:0.75rem;border:1px solid var(--line);background:var(--surf2);color:var(--ink);cursor:pointer}
.yb:hover{border-color:var(--teal)}
.yb-ic{font-size:1.125rem}.yb-t{display:flex;flex-direction:column;min-width:0;flex:1}.yb-t small{font-size:0.6562rem;color:var(--soft)}.yb-t b{font-size:0.75rem;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.yb-go{font-size:0.6875rem;color:var(--teal);font-weight:700}
.yrp .card{margin-bottom:0.875rem}
.yr-badge{display:inline-block;background:rgba(7,168,105,.16);color:var(--forest);font-size:0.75rem;font-weight:800;padding:0.1875rem 0.75rem;border-radius:6.1875rem;margin-bottom:0.5rem}
.yr-label{margin:0 0 0.75rem;font-size:1.625rem}
.yr-edit{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin-bottom:0.875rem}
.yr-edit input{border:1px solid var(--line);border-radius:0.625rem;padding:0.5625rem 0.75rem;background:var(--bg);color:var(--ink);min-width:16.25rem}
.yr-sums,.yr-cnts{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:0.875rem}
.yr-sc{display:flex;flex-wrap:wrap;gap:0.5rem 1.125rem;align-items:center;font-size:0.8125rem;color:var(--soft);background:var(--surf2);border-radius:0.75rem;padding:0.5625rem 0.875rem}
.yr-sc b{color:var(--ink);font-size:0.9375rem}
.yr-close{padding:0.75rem 1.375rem;font-size:0.9375rem;border-radius:0.875rem}
.yr-note{margin:0.625rem 0 0;font-size:0.7812rem;color:var(--soft);line-height:1.9}
.yr-item{display:flex;gap:0.875rem;align-items:flex-start;border:1px solid var(--line);border-radius:1rem;padding:0.875rem;margin-bottom:0.625rem;background:var(--surf2);flex-wrap:wrap}
.yr-ic{width:3rem;height:3rem;border-radius:0.875rem;background:linear-gradient(135deg,#7258a4,#3d7eb9);display:flex;align-items:center;justify-content:center;font-size:1.375rem;flex:none}
.yr-bd{flex:1;min-width:13.75rem}.yr-bd b{font-size:1rem;display:block}.yr-bd small{color:var(--soft);font-size:0.75rem;display:block;margin:2px 0 0.625rem}
.yr-ac{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap}
.ovl .yr-wiz{max-width:35rem;width:100%;max-height:90vh;overflow:auto}
.yw-p{font-size:0.875rem;line-height:1.9;margin:0.375rem 0 0.75rem}
.yw-sum{display:flex;flex-direction:column;gap:0.375rem;margin-bottom:0.875rem}
.yw-f{display:flex;flex-direction:column;gap:0.375rem;font-size:0.7812rem;font-weight:700;color:var(--soft);margin-bottom:0.75rem}
.yw-f input{border:1px solid var(--line);border-radius:0.625rem;padding:0.625rem 0.75rem;background:var(--bg);color:var(--ink);font-weight:400}
.yw-c{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.8125rem;line-height:1.7;margin-bottom:0.5rem}
.yw-warn{background:rgba(214,51,74,.1);border-radius:0.625rem;padding:0.625rem 0.75rem;margin-top:0.625rem}
.yw-msg{min-height:1.125rem;font-size:0.75rem;color:var(--danger);margin:0.5rem 0}
.arch-tag{background:var(--btint);color:var(--brass);font-weight:800;font-size:0.7812rem;padding:0.3125rem 0.875rem;border-radius:6.1875rem}
.asec{border:1px solid var(--line);border-radius:0.875rem;margin-bottom:0.625rem;background:var(--surf2);overflow:hidden}
.asec summary{cursor:pointer;padding:0.75rem 1rem;font-weight:800}.asec summary small{color:var(--soft);font-weight:600;margin-inline-start:0.375rem}
.arow{display:flex;gap:0.625rem;align-items:center;padding:0.625rem 1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.arow .ttl{flex:1;min-width:11.25rem}.arow .ttl b{display:block;font-size:0.875rem}.arow .ttl small{color:var(--soft);font-size:0.7188rem}
.as-card{border:1px solid var(--line);border-radius:0.875rem;padding:0.75rem;margin-bottom:0.625rem;background:var(--surf2)}
.as-h{margin-bottom:0.625rem}
.as-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.125rem,1fr));gap:0.625rem}
.as-grid div{background:var(--surf);border-radius:0.75rem;padding:0.625rem;text-align:center}.as-grid b{display:block;font-size:1.25rem;color:var(--teal)}.as-grid span{font-size:0.7188rem;color:var(--soft)}
/* public */
.arch-banner{position:relative;z-index:5;display:flex;flex-wrap:wrap;gap:0.625rem;align-items:center;justify-content:center;padding:0.6875rem 1.125rem;background:linear-gradient(90deg,#7258a4,#3d7eb9);color:#fff;font-size:0.8438rem;text-align:center}
.arch-banner[hidden]{display:none}
.arch-banner b{font-weight:900}
.arch-back{border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.14);color:#fff;border-radius:6.1875rem;padding:0.3125rem 1rem;font-weight:700;cursor:pointer}
.arch-back:hover{background:rgba(255,255,255,.28)}
.archband{margin:0 0 0.75rem;padding:0.625rem 1rem;border-radius:0.75rem;background:var(--btint);color:var(--brass);font-size:0.8125rem;text-align:center}
.yrs{max-width:65rem;margin:1.625rem auto 0;padding:0 1.25rem}
.yrs-in{display:flex;flex-wrap:wrap;gap:0.875rem 1.5rem;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:1.125rem;padding:0.875rem 1.125rem;background:linear-gradient(120deg,color-mix(in srgb,#7258a4 14%,var(--surf)),var(--surf))}
.yrs-h{display:flex;align-items:center;gap:0.75rem}.yrs-h>span{font-size:1.625rem}.yrs-h b{display:block;font-size:0.9375rem}.yrs-h small{color:var(--soft);font-size:0.75rem}
.yrs-chips{display:flex;flex-wrap:wrap;gap:0.5rem}
.yr-chip{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--line);background:var(--surf2);color:var(--ink);border-radius:6.1875rem;padding:0.4375rem 1rem;cursor:pointer;font-size:0.8125rem}
.yr-chip i{width:0.5625rem;height:0.5625rem;border-radius:50%;background:#7258a4}.yr-chip.now i{background:var(--forest)}
.yr-chip small{color:var(--soft);font-size:0.6875rem}
.yr-chip.on{border-color:var(--forest);background:color-mix(in srgb,var(--forest) 16%,var(--surf2));box-shadow:0 0 0 2px color-mix(in srgb,var(--forest) 28%,transparent)}
.yrs-sel{border:1px solid var(--line);border-radius:0.75rem;padding:0.5625rem 0.875rem;background:var(--surf2);color:var(--ink);min-width:16.25rem}
/* statistics: five cards */
.stats-in{grid-template-columns:repeat(5,minmax(0,1fr))}
.stat{display:flex;flex-direction:column;align-items:center;gap:0.25rem;padding:1.125rem 0.5rem}
.stat-ico{width:2.5rem;height:2.5rem;border-radius:0.75rem;display:inline-flex;align-items:center;justify-content:center;color:var(--teal);background:color-mix(in srgb,var(--teal) 14%,transparent);margin-bottom:0.25rem}
.stat span{font-size:0.75rem;line-height:1.5;color:var(--soft)}
.stat b{font-size:1.625rem;font-variant-numeric:tabular-nums}
.stats-cap{text-align:center;font-size:0.7188rem;color:var(--soft);margin-top:0.5rem}
@media (max-width:860px){.stats-in{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:last-child{grid-column:1/-1}.stat:nth-child(2){border-inline-end:1px solid var(--line)}.stat:nth-child(even){border-inline-end:0}}
.dtb-years{height:0.375rem;background:repeating-linear-gradient(90deg,#7258a4aa 0 18%,transparent 18% 22%)!important}
@media print{.arch-banner{display:none!important}}


/* =================== LETTERHEAD (الترويسة الرسمية) =================== */
.pubmast.lhm-rounded,.pubmast.lhm-chamfer,.pubmast.lhm-irregular{background:transparent!important;border:0!important;clip-path:none!important;-webkit-mask:none!important;mask:none!important;border-radius:0!important;margin:0!important;width:auto!important;padding:0!important;box-shadow:none!important}
.pubmast.lhm-square{background:var(--lhbg);border-bottom:0}
.lh.pubmast-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:0.75rem 1.375rem;position:relative;padding:0.875rem 1.75rem;color:var(--lhfg);max-width:68.75rem}
.lhp-rounded{background:var(--lhbg);border-radius:1.625rem;margin:0.625rem auto;width:calc(100% - 1.5rem);box-shadow:0 1.125rem 2.5rem -1.375rem rgba(0,0,0,.65)}
.lhp-square{background:transparent;border-radius:0;margin:0 auto}
.lhp-chamfer{background:var(--lhbg);margin:0.625rem auto;width:calc(100% - 1.5rem);clip-path:polygon(1.375rem 0,calc(100% - 1.375rem) 0,100% 1.375rem,100% calc(100% - 1.375rem),calc(100% - 1.375rem) 100%,1.375rem 100%,0 calc(100% - 1.375rem),0 1.375rem)}
.lhp-irregular{background:transparent;margin:0.625rem auto;width:calc(100% - 1.5rem);padding:1.25rem 2.375rem}
.lh-frame{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none;filter:drop-shadow(0 0.625rem 1.125rem rgba(0,0,0,.35))}
.lh-slot{display:flex;flex-direction:column;gap:0.625rem;position:relative;z-index:1;min-width:0}
.lh-r{align-items:flex-start;justify-self:start}
.lh-c{align-items:center;justify-self:center;text-align:center}
.lh-l{align-items:flex-end;justify-self:end}
.lh-data{display:flex;flex-direction:column;gap:0.1875rem;line-height:1.55}
.lh-data.lhd-center{align-items:center;text-align:center}
.lh-line{font-size:calc(var(--s,1) * 0.8125rem);font-weight:600;white-space:nowrap;transition:font-size .3s}
.lh-ministry,.lh-school{font-weight:800}
.lh-logo{--lz:4.75rem;width:var(--lz);height:var(--lz);margin:0;flex:none;display:flex;align-items:center;justify-content:center;position:relative;transition:width .3s,height .3s}
.lhl-in{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:inherit}
.lhl-in img{width:100%;height:100%;object-fit:contain;display:block}
.lhl-bg-bg{background:#fff;padding:7%;box-shadow:0 0.625rem 1.5rem -0.75rem rgba(0,0,0,.6);color:#15445a}
.lhl-bg-none{background:transparent;color:var(--lhfg)}
.lhl-circle{border-radius:50%}
.lhl-square{border-radius:0}.lhl-square.lhl-c-round{border-radius:24%}
.lhl-rect{width:calc(var(--lz) * 1.55);border-radius:0}.lhl-rect.lhl-c-round{border-radius:1.125rem}
.lhl-polygon.lhl-c-normal{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);border-radius:0}
.lhl-polygon.lhl-c-round{border-radius:0}
.lhl-empty .lhl-in{padding:16%}
.lh-util{display:flex;flex-direction:column;align-items:flex-end;gap:0.5rem}




.lh #siteSchools{flex:none;display:flex;justify-content:flex-end}
.lh .sch-pill{background:color-mix(in srgb,var(--lhfg) 12%,transparent);color:var(--lhfg);border-color:color-mix(in srgb,var(--lhfg) 34%,transparent)}
.lh .sch-pill.on{background:color-mix(in srgb,var(--sc) 38%,transparent);border-color:var(--sc)}
.lh-compact .lh.pubmast-in{padding-block:0.375rem}
.lh-compact .lhp-rounded,.lh-compact .lhp-chamfer,.lh-compact .lhp-irregular{margin-block:0.375rem}
.lh-compact .lh-line.lh-country,.lh-compact .lh-line.lh-edu{display:none}
.lh-compact .lh-logo{--lz:2.75rem!important}
@media (max-width:760px){
  .lh.pubmast-in{display:flex;flex-direction:column;align-items:center;padding:0.875rem 1rem}
  .lh-slot{display:contents}
  .lh-logo{order:1}.lh-data{order:2;align-items:center;text-align:center}.lh-util{order:3;align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:center}
  .lh-line{white-space:normal}
}
.lhprev-wrap{position:relative!important;top:auto!important;border-radius:1rem;overflow:hidden;background:var(--surf2)}
.lhprev-wrap.lhm-square{background:var(--lhbg)}
.lhprev-wrap .lh.pubmast-in{max-width:none}
@media print{.pubmast{display:none!important}}
/* editor */
.mep .card{margin-bottom:0.875rem}
.me-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.125rem,1fr));gap:0.625rem;margin-bottom:0.875rem}
.me-tile{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:0.75rem 0.5rem;border:2px solid var(--line);border-radius:0.875rem;background:var(--surf);color:var(--ink);cursor:pointer}
.me-tile b{font-size:0.7812rem;text-align:center;line-height:1.5}
.me-tile:hover{border-color:var(--teal)}.me-tile.on{border-color:var(--forest);box-shadow:0 0 0 0.1875rem rgba(7,168,105,.22)}
.me-ti{width:4rem;height:2.125rem;display:flex;align-items:center;justify-content:center;color:var(--forest)}
.mp{width:3.75rem;height:1.875rem;border:2px solid var(--line);border-radius:0.5rem;position:relative;display:block}
.mp i{position:absolute;top:0.375rem;width:1rem;height:0.875rem;border-radius:50%;background:var(--forest)}
.mp-r{right:0.3125rem}.mp-c{left:50%;transform:translateX(-50%)}.mp-l{left:0.3125rem}
.ms{display:block;background:var(--forest)}.ms-circle{width:1.875rem;height:1.875rem;border-radius:50%}.ms-square{width:1.75rem;height:1.75rem;border-radius:0.25rem}.ms-rect{width:2.625rem;height:1.75rem;border-radius:0.25rem}.ms-poly{width:1.875rem;height:1.875rem;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.mq{display:block;width:3.375rem;height:1.75rem;border:0.1562rem solid var(--forest)}.mq-rounded{border-radius:0.875rem}.mq-square{border-radius:0}.mq-chamfer{clip-path:polygon(0.5rem 0,calc(100% - 0.5rem) 0,100% 0.5rem,100% calc(100% - 0.5rem),calc(100% - 0.5rem) 100%,0.5rem 100%,0 calc(100% - 0.5rem),0 0.5rem);background:color-mix(in srgb,var(--forest) 22%,transparent);border:0}
.mq-svg{width:3.625rem;height:1.75rem;color:var(--forest)}
.me-seg{display:inline-flex;border:1px solid var(--line);border-radius:0.75rem;overflow:hidden;background:var(--surf2);margin-bottom:0.5rem}
.me-sb{border:0;background:transparent;color:var(--ink);padding:0.5625rem 1.125rem;font-size:0.8125rem;font-weight:700;cursor:pointer;border-inline-end:1px solid var(--line)}
.me-sb:last-child{border-inline-end:0}.me-sb.on{background:var(--forest);color:#fff}
.me-lines{display:flex;flex-direction:column;gap:0.625rem;margin-top:0.875rem}
.me-line{display:grid;grid-template-columns:minmax(12.5rem,1.2fr) minmax(10rem,1fr) auto;gap:0.625rem 1.125rem;align-items:center;border:1px solid var(--line);border-radius:0.875rem;padding:0.625rem 0.875rem;background:var(--surf2)}
.me-ck{display:flex;align-items:center;gap:0.5rem;font-size:0.8438rem}
.me-sz{display:flex;align-items:center;gap:0.625rem}.me-sz input{flex:1;accent-color:var(--forest)}.me-szv{font-size:0.75rem;color:var(--soft);min-width:2.5rem;text-align:center}
.me-sw{display:flex;flex-wrap:wrap;gap:0.375rem;align-items:center}
.swb{width:1.625rem;height:1.625rem;border-radius:50%;border:2px solid var(--surf);background:var(--c,#999);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.swb.auto{background:var(--surf);color:var(--soft);font-weight:800;font-size:0.75rem}
.swb.on{box-shadow:0 0 0 2px var(--forest),0 0 0 0.25rem rgba(7,168,105,.28)}
.me-zoom{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;margin-top:0.75rem}
@media (max-width:820px){.me-line{grid-template-columns:1fr}}

/* =================== PARTNERS manager =================== */
.ptp .card{margin-bottom:0.875rem}
.pt-empty{text-align:center;padding:2.875rem 1.25rem}
.pt-eico{color:var(--soft);display:inline-block;margin-bottom:0.625rem;opacity:.8}
.pt-empty p{margin:0 0 1.125rem;color:var(--soft);font-size:1rem}
.pt-list{display:flex;flex-direction:column;gap:0.625rem;margin-bottom:0.875rem}
.ptc{display:flex;align-items:center;gap:0.875rem;background:var(--surf);border:1px solid var(--line);border-radius:1rem;padding:0.75rem 1rem;position:relative}
.ptc.off{opacity:.62}
.ptc.dragging{opacity:.4}
.ptc.over-b::before,.ptc.over-a::after{content:'';position:absolute;inset-inline:0;height:0.1875rem;border-radius:6.1875rem;background:var(--teal)}
.ptc.over-b::before{top:-0.4375rem}.ptc.over-a::after{bottom:-0.4375rem}
.pt-grip{cursor:grab;color:var(--soft);font-size:1.125rem;letter-spacing:-0.1875rem;user-select:none;padding:0.25rem 0.375rem}
.pt-ord{width:1.625rem;height:1.625rem;border-radius:50%;background:var(--surf2);color:var(--soft);font-size:0.75rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:none}
.pt-logo{width:3.375rem;height:3.375rem;border-radius:0.875rem;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;border:1px solid var(--line)}
.pt-logo img{width:84%;height:84%;object-fit:contain}.pt-logo i{font-style:normal;font-weight:900;font-size:1.375rem;color:var(--forest)}
.pt-bd{flex:1;min-width:0}.pt-bd b{display:block;font-size:0.9688rem}.pt-bd small{color:var(--soft);font-size:0.7812rem}
.pt-feat{background:var(--btint);color:var(--brass);font-size:0.7188rem;font-weight:800;border-radius:6.1875rem;padding:0.1875rem 0.6875rem}
.pt-acts{display:flex;gap:0.375rem}
.pt-acts .ic{width:2.25rem;height:2.25rem;border-radius:0.625rem;border:1px solid var(--line);background:var(--surf2);color:var(--soft);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0.9375rem}
.pt-acts .ic:hover{color:var(--ink);border-color:var(--teal)}.pt-acts .ic.on{color:#e6b422;border-color:#e6b422}
.pt-acts .ic.danger{background:rgba(214,51,74,.12);color:#d6334a;border-color:transparent}
.pt-toast{position:fixed;bottom:1.375rem;inset-inline-start:50%;transform:translateX(-50%) translateY(1.25rem);background:#0e2a22;color:#c8f3e0;border:1px solid var(--forest);padding:0.5625rem 1.25rem;border-radius:6.1875rem;font-size:0.8125rem;font-weight:700;opacity:0;pointer-events:none;transition:all .25s;z-index:80}
.pt-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ptv .pv-dynnote{background:var(--btint);color:var(--brass);border-radius:0.75rem;padding:0.625rem 0.875rem;font-size:0.7812rem;line-height:1.9;margin-bottom:1rem}
.ptv .pv-tg small{display:block;color:var(--soft);font-size:0.75rem;margin-top:2px}
.pv-col{width:100%;height:2.875rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--bg);padding:0.1875rem;cursor:pointer}
.ptv .pv-title{width:100%}
.pv-prevbox{overflow:hidden;border-radius:1rem}

/* =================== PARTNERS: public display styles =================== */
.pvw{--ls:5rem;--gp:1.5rem;--bg:#000;--ac:#07a869;--op:1;--fg:var(--ink);--pr:18%;position:relative;color:var(--fg)}
.pvw-box{background:var(--bg);border-radius:var(--rl,1.5rem);padding:1.875rem 1.625rem;overflow:hidden}
.pvi{position:relative;display:flex;flex-direction:column;align-items:center;gap:0.625rem;text-decoration:none;color:var(--fg);opacity:var(--op);transition:transform .3s cubic-bezier(.2,.9,.3,1.3),box-shadow .3s,opacity .3s;min-width:0}
.pvi-logo{width:calc(var(--ls) * var(--sc,1));height:calc(var(--ls) * var(--sc,1));display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;flex:none;border-radius:var(--pr);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),box-shadow .3s}
.pvi-logo img{width:100%;height:100%;object-fit:cover;display:block}
.pvi-ini{font-weight:900;font-size:calc(var(--ls) * .34);color:var(--ac)}
.pvsp-square{--pr:0%}.pvsp-rounded{--pr:20%}.pvsp-circle{--pr:50%}
.pvsp-polygon .pvi-logo{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);border-radius:0}
.pvbd .pvi-logo{outline:2px solid var(--ac);outline-offset:-2px}
.pvsh-soft .pvi-logo{box-shadow:0 0.375rem 1rem -0.5rem rgba(0,0,0,.5)}.pvsh-medium .pvi-logo{box-shadow:0 0.875rem 1.875rem -0.875rem rgba(0,0,0,.7)}.pvsh-strong .pvi-logo{box-shadow:0 1.5rem 2.875rem -0.875rem rgba(0,0,0,.9)}
.pvi-meta{display:flex;flex-direction:column;gap:2px;text-align:center;min-width:0}
.pvi-n{font-size:0.8438rem;line-height:1.5}.pvi-t{font-size:0.7188rem;opacity:.7}
.pvi-d{font-size:0.7812rem;opacity:.82;line-height:1.8;margin-top:0.25rem}
.pv-nn .pvi-n{display:none}.pv-nt .pvi-t{display:none}
.pvi-go{font-size:0.75rem;font-weight:800;color:var(--ac)}
.pvm-hover .pvi:hover{transform:translateY(-0.375rem)}.pvm-hover .pvi:hover .pvi-logo{transform:scale(1.12);box-shadow:0 0 0 0.1875rem var(--ac),0 1.25rem 2.5rem -0.875rem var(--ac)}
.pvm-loop .pvi{animation:pvbob calc(3.6s + var(--i) * .3s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.5s)}
.pvm-loop .pvi:hover{animation-play-state:paused}.pvm-loop .pvi:hover .pvi-logo{transform:scale(1.15)}
@keyframes pvbob{from{transform:translateY(-0.375rem)}to{transform:translateY(0.5rem)}}
.pvm-reveal .pvi:not(.in){opacity:0;transform:translateY(1.625rem)}
.pvm-reveal .pvi.in{opacity:var(--op);transition:opacity .7s,transform .7s;transition-delay:calc(min(var(--i),12) * 70ms)}
.pv-empty{display:flex;flex-direction:column;align-items:center;gap:0.375rem;padding:2.25rem 1rem;border:1px dashed var(--line);border-radius:1.125rem;color:var(--soft);text-align:center}
.pv-empty span{font-size:2.25rem}.pv-empty b{font-size:0.9375rem;color:var(--ink)}.pv-empty small{font-size:0.75rem}
.pvs-logogrid .pv-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--ls) * 1.6),1fr));gap:var(--gp);justify-items:center;align-items:start}
.pv-stage{position:relative}
.pv-strip{display:flex;gap:var(--gp);overflow-x:auto;scroll-snap-type:x proximity;padding:0.5rem 0.25rem 0.875rem;scrollbar-width:thin}
.pv-strip .pvi{flex:0 0 auto;min-width:calc(var(--ls) * 1.5);scroll-snap-align:start}
.pv-arrow{position:absolute;top:42%;width:2.5rem;height:2.5rem;border-radius:50%;border:0;background:rgba(5,12,16,.75);color:#fff;font-size:1.375rem;cursor:pointer;z-index:5}
.pv-arrow:hover{background:var(--ac)}.pv-prev{inset-inline-start:0.25rem}.pv-next{inset-inline-end:0.25rem}
.pvs-cards .pv-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.625rem,1fr));gap:var(--gp)}
.pvs-cards .pvi{align-items:flex-start;background:color-mix(in srgb,var(--fg) 7%,transparent);border:1px solid color-mix(in srgb,var(--fg) 12%,transparent);border-radius:1.25rem;padding:1.25rem;gap:0.75rem}
.pvs-cards .pvi-meta,.pvs-timeline .pvi-meta{text-align:start}
.pvs-cards.pvbd .pvi:hover{border-color:var(--ac)}
.pv-marq{overflow:hidden;padding:1.875rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.pv-marq .pvi{margin-inline:calc(var(--gp) / 2);flex:none}
.pv-marq:hover .tk-track{animation-play-state:paused}.pv-marq .pvi:hover .pvi-logo{transform:scale(1.28)}
.pvs-mosaic .pv-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--ls) * 1.5),1fr));grid-auto-rows:calc(var(--ls) * 1.35);grid-auto-flow:dense;gap:var(--gp)}
.pvs-mosaic .pvi,.pvs-bento .pvi{justify-content:center;background:color-mix(in srgb,var(--ac) 14%,transparent);padding:0.75rem;border-radius:var(--tr,1.625rem);border:1px solid color-mix(in srgb,var(--ac) 25%,transparent)}
.pvs-mosaic .pvi:nth-child(7n+1){grid-column:span 2;grid-row:span 2;--tr:46% 54% 40% 60% / 56% 44% 56% 44%}
.pvs-mosaic .pvi:nth-child(7n+2){--tr:60% 40% 55% 45% / 45% 58% 42% 55%}
.pvs-mosaic .pvi:nth-child(7n+3){grid-row:span 2;--tr:38% 62% 50% 50% / 48% 52% 48% 52%}
.pvs-mosaic .pvi:nth-child(7n+4){--tr:52% 48% 62% 38% / 40% 60% 40% 60%}
.pvs-mosaic .pvi:nth-child(7n+5){grid-column:span 2;--tr:1.875rem 4.375rem 1.875rem 4.375rem}
.pvs-mosaic .pvi:nth-child(7n+6){--tr:64% 36% 46% 54% / 52% 48% 52% 48%}
.pvs-mosaic .pvi:nth-child(7n){--tr:40% 60% 60% 40% / 60% 40% 60% 40%}
.pvs-bento .pv-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc(var(--ls) * 1.5);grid-auto-flow:dense;gap:var(--gp)}
.pvs-bento .pvi:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.pvs-bento .pvi:nth-child(8n+2){grid-column:span 2}.pvs-bento .pvi:nth-child(8n+4){grid-row:span 2}.pvs-bento .pvi:nth-child(8n+6){grid-column:span 2}
.pvs-bento .pvi-logo{--sc:1}
.pvs-bento .pvi:nth-child(8n+1) .pvi-logo{width:calc(var(--ls) * 1.5);height:calc(var(--ls) * 1.5)}
.pv-spot{position:relative;min-height:14.375rem;padding:0.625rem 3.5rem}
.pv-sl{display:none}.pv-sl.on{display:block;animation:pvfade .6s ease}
@keyframes pvfade{from{opacity:0;transform:translateY(0.75rem)}to{opacity:1;transform:none}}
.pvb{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.875rem;align-items:center}
.pvi-logo.big{width:calc(var(--ls) * 2);height:calc(var(--ls) * 2)}
.pvb-t{display:flex;flex-direction:column;gap:0.375rem;min-width:0}
.pvb-t b{font-size:clamp(1.25rem,3vw,1.875rem)}.pvb-t small{opacity:.75;font-size:0.8125rem}.pvb-t p{margin:0.375rem 0 0;line-height:1.9;opacity:.88;font-size:0.875rem}
.pvb-star{align-self:flex-start;background:color-mix(in srgb,var(--ac) 25%,transparent);color:var(--ac);font-weight:800;font-size:0.75rem;padding:0.1875rem 0.75rem;border-radius:6.1875rem}
.pvb-go{align-self:flex-start;margin-top:0.5rem;background:var(--ac);color:#fff;text-decoration:none;font-weight:800;font-size:0.8125rem;padding:0.5rem 1.125rem;border-radius:6.1875rem}
.pv-dots{display:flex;gap:0.5rem;justify-content:center;margin-top:1rem}
.pv-dot{width:0.625rem;height:0.625rem;border-radius:50%;border:0;background:color-mix(in srgb,var(--fg) 25%,transparent);cursor:pointer;padding:0}.pv-dot.on{background:var(--ac);transform:scale(1.3)}
.pv-spot .pv-arrow{top:38%}
.pvs-floating .pv-in{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gp)}
.pvs-floating .pvi{animation:pvbob calc(4s + var(--i) * .4s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.7s)}
.pvs-floating .pvi:hover{animation-play-state:paused}
.pvs-floating .pvi-logo{border-radius:50%;box-shadow:0 0 0 0.5rem color-mix(in srgb,var(--ac) 16%,transparent),0 1.375rem 2.75rem -1rem var(--ac)}
.pvs-floating.pvm-none .pvi{animation:none}
.pvs-timeline .pv-in{position:relative;display:flex;flex-direction:column;gap:var(--gp);padding:0.375rem 0}
.pvs-timeline .pv-in::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:0.1875rem;transform:translateX(-50%);border-radius:6.1875rem;background:linear-gradient(180deg,transparent,var(--ac),transparent)}
.pvs-timeline .pvi{flex-direction:row;align-items:center;gap:1rem;width:calc(50% - 2.375rem);text-align:start;background:color-mix(in srgb,var(--fg) 7%,transparent);border-radius:1.25rem;padding:0.875rem 1.125rem;border:1px solid color-mix(in srgb,var(--fg) 12%,transparent)}
.pvs-timeline .pvi:nth-child(even){align-self:flex-end}
.pvs-timeline .pvi::after{content:'';position:absolute;top:50%;width:1rem;height:1rem;border-radius:50%;background:var(--ac);box-shadow:0 0 0 0.3125rem color-mix(in srgb,var(--ac) 28%,transparent);transform:translateY(-50%)}
.pvs-timeline .pvi:nth-child(odd)::after{inset-inline-end:-2.9375rem}.pvs-timeline .pvi:nth-child(even)::after{inset-inline-start:-2.9375rem}
.pvs-timeline .pvi-logo{--sc:1;width:calc(var(--ls) * .8);height:calc(var(--ls) * .8)}
.pvs-editorial .pv-in{display:flex;flex-direction:column}
.pve{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 0.375rem;border-top:1px solid color-mix(in srgb,var(--fg) 18%,transparent);text-align:start}
.pve:last-child{border-bottom:1px solid color-mix(in srgb,var(--fg) 18%,transparent)}
.pvi-no{font-size:clamp(1.625rem,4vw,2.75rem);font-weight:900;color:var(--ac);opacity:.55;min-width:4rem}
.pve .pvi-meta{flex:1;text-align:start}.pve .pvi-n{font-size:clamp(1.25rem,3vw,2rem);font-weight:900}.pve .pvi-logo{--sc:1;width:calc(var(--ls) * .9);height:calc(var(--ls) * .9)}
.pve:hover .pvi-n{color:var(--ac)}
.pv-ft{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:calc(var(--gp) * 1.4);align-items:stretch}
.pv-ft-main{background:color-mix(in srgb,var(--ac) 12%,transparent);border:1px solid color-mix(in srgb,var(--ac) 30%,transparent);border-radius:1.625rem;padding:1.875rem;display:flex;align-items:center}
.pv-ft-o{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--ls) * 1.3),1fr));gap:var(--gp);align-content:start;justify-items:center}
@media (max-width:760px){
  .pvb{grid-template-columns:1fr;text-align:center;justify-items:center}.pvb-star,.pvb-go{align-self:center}
  .pv-ft{grid-template-columns:1fr}.pv-spot{padding:0.625rem 0.5rem 0.625rem}
  .pvs-bento .pv-in{grid-template-columns:repeat(2,minmax(0,1fr))}.pvs-bento .pvi:nth-child(8n+6){grid-column:span 1}
  .pvs-timeline .pv-in::before{left:0.875rem}.pvs-timeline .pvi,.pvs-timeline .pvi:nth-child(even){width:calc(100% - 2.375rem);align-self:flex-end}
  .pvs-timeline .pvi:nth-child(n)::after{inset-inline-start:auto;inset-inline-end:auto;left:-1.875rem}
  .pve{gap:0.75rem}.pvi-no{min-width:2.375rem}
  .pvw-box{padding:1.25rem 0.875rem}
}
@media (prefers-reduced-motion:reduce){.pvm-loop .pvi,.pvs-floating .pvi{animation:none}.pvm-reveal .pvi:not(.in){opacity:var(--op);transform:none}}


/* =================== schools: hide / activate / delete =================== */
.sch-row{grid-template-columns:9.375rem auto minmax(9.375rem,1fr) minmax(16.25rem,1.3fr) minmax(10.625rem,auto)}
.sch-row.off{opacity:.68;background:repeating-linear-gradient(135deg,var(--surf2) 0 0.75rem,color-mix(in srgb,var(--surf2) 90%,#888) 0.75rem 1.5rem)}
.sch-row.off .sch-qr img{filter:grayscale(1);opacity:.6}
.sch-ctl{display:flex;flex-direction:column;gap:0.625rem;align-items:flex-start;justify-content:center;min-width:9.375rem}
.sch-tg{display:flex;align-items:center;gap:0.625rem;cursor:pointer;font-size:0.8125rem;font-weight:800}
.sch-row.off .sch-tg b{color:var(--brass)}
.sch-del{width:auto;height:auto;border-radius:0.625rem;padding:0.5rem 0.875rem;border:1px solid rgba(214,51,74,.45);background:rgba(214,51,74,.12);color:#e0475d;font-weight:800;font-size:0.7812rem;cursor:pointer}
.sch-del:hover{background:#d6334a;color:#fff}
.sch-fix{color:var(--soft);font-size:0.7188rem;line-height:1.7}
.sch-hid-note{margin-top:0.5rem;font-size:0.7188rem;color:var(--brass);line-height:1.7}
.ssw-h{font-style:normal;font-size:0.6562rem;background:var(--btint);color:var(--brass);border-radius:6.1875rem;padding:1px 0.5rem;margin-inline-start:0.25rem}
.ssw-o:has(.ssw-h){opacity:.85}
.sd-card{max-width:35rem}
.yw-c{justify-content:flex-start}.yw-c input[type=checkbox]{width:auto!important;flex:none;margin:0.25rem 0 0}.yw-warn{align-items:flex-start}
.sd-list{margin:0 0 0.875rem;padding-inline-start:1.375rem;color:var(--soft);font-size:0.8438rem;line-height:2}
.sd-list b{color:#e0475d;font-size:0.9375rem}
.sd-alt{display:flex;flex-wrap:wrap;align-items:center;gap:0.625rem;justify-content:space-between;background:var(--btint);border-radius:0.75rem;padding:0.625rem 0.875rem;margin-bottom:0.75rem;font-size:0.8125rem;color:var(--brass)}
.btn.danger[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:900px){.sch-row{grid-template-columns:1fr 1fr}.sch-ctl{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}}

/* =================== v6: cascade domain/program + report-field switches =================== */
.field[hidden]{display:none!important}
.fld-dom .dom-other,.fld-prg .prg-other{margin-top:0.5rem}
.fld-prg{padding-inline-start:0.75rem;border-inline-start:0.1875rem solid var(--forest);animation:fadein .25s ease both}
.fld-head{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin-bottom:0.25rem;flex-wrap:wrap}
.fld-head>label{margin:0!important;flex:1;min-width:0}
.fld-sw{display:inline-flex;align-items:center;gap:0.4375rem;border:1px solid var(--line);background:var(--bg);border-radius:6.1875rem;padding:0.1875rem 0.625rem 0.1875rem 0.25rem;font-size:0.6875rem;font-weight:700;color:var(--soft);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex:none}
.fld-sw .fld-knob{position:relative;width:1.875rem;height:1.0625rem;border-radius:6.1875rem;background:var(--line);flex:none;transition:background .15s}
.fld-sw .fld-knob::after{content:'';position:absolute;top:2px;inset-inline-start:2px;width:0.8125rem;height:0.8125rem;border-radius:50%;background:#fff;box-shadow:0 1px 0.1875rem rgba(0,0,0,.35);transition:inset-inline-start .15s}
.fld-sw.on{color:var(--forest);border-color:var(--forest)}
.fld-sw.on .fld-knob{background:var(--forest)}
.fld-sw.on .fld-knob::after{inset-inline-start:0.9375rem}
.fld-sw:disabled{opacity:.55;cursor:not-allowed}
.fld-off>:is(textarea,input[type=text],input[type=number],input[type=date],select,.att-manager){opacity:.78}

/* =================== v6: attachment preview — always centred and fitted to the viewport =================== */
.lb-backdrop{display:none;place-items:center;align-items:center;justify-content:center;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);padding:clamp(0.5rem,2vw,1.5rem)}
.lb-backdrop.show{display:grid}
.lb-frame{width:min(73.75rem,100%);max-width:100%;height:auto;max-height:calc(100vh - 2*clamp(0.5rem,2vw,1.5rem));max-height:calc(100dvh - 2*clamp(0.5rem,2vw,1.5rem));margin:auto}
.lb-frame:is([data-kind="pdf"],[data-kind="html"],[data-kind="text"],[data-kind="word"],[data-kind="excel"]){height:calc(100vh - 2*clamp(0.5rem,2vw,1.5rem));height:calc(100dvh - 2*clamp(0.5rem,2vw,1.5rem))}
.lb-body{display:flex;align-items:center;justify-content:center;min-height:min(46vh,21.25rem);min-width:0;overflow:auto;padding:clamp(0.5rem,1.5vw,1rem)}
.lb-body>img{display:block;max-width:100%;max-height:calc(100vh - 8.75rem);max-height:calc(100dvh - 8.75rem);width:auto;height:auto;object-fit:contain;margin:auto}
.lb-body>video{display:block;max-width:100%;width:auto;margin:auto;max-height:calc(100vh - 6.875rem)!important;max-height:calc(100dvh - 6.875rem)!important;background:#000}
.lb-body>:is(.att-scroll,pre.att-scroll){width:100%;height:100%!important;align-self:stretch;margin:0}
.lb-body>:is(.att-loading,.att-fallback,.att-errcard,div[style*="padding:16px"]){margin:auto}
.lb-frame:fullscreen{width:100vw;height:100vh!important;max-height:none;border-radius:0}
@media (max-width:700px){.lb-frame{width:100%;border-radius:0.875rem}}

/* ==========================================================================
   v6 — أنظمة التصميم: «العصري» و«الحديث»
   يغيّران مظهر الموقع بالكامل (الأسطح، الحواف، الظلال، الأزرار، العناوين، الترويسة والتذييل)
   مع الالتزام بالهوية البصرية لوزارة التعليم: الأخضر الرسمي #07a869، الكحلي #15445a،
   الرملي #c1b489، الفيروزي والأزرق — وتُقرأ الألوان من لوحة الهوية الحيّة (--forest/--fdark/--brass/--teal/--blue)
   فلا يتغيّر أي لون يخصّصه المدير في «الهوية البصرية».
   ========================================================================== */
@media screen{

/* ---------------------------------------------------------------------------
   النظام العصري — فاتح، هواء واسع، بطاقات كبيرة ناعمة بظلال متعددة الطبقات
   --------------------------------------------------------------------------- */
html[data-ds="asri"] :is(#homepage,#pubView){--ink:#0f2f3f;--soft:#587079;--bg:#f2f6f5;--surf:#fff;--surf2:#e9f0ee;--line:#dfe8e5;--rc:1.25rem;--rl:2.125rem;--dsh:0 1px 2px rgba(21,68,90,.06),0 0.875rem 2.125rem -1rem rgba(21,68,90,.22);--dsh2:0 2px 0.25rem rgba(21,68,90,.07),0 1.5rem 3rem -1.125rem rgba(21,68,90,.32)}
html[data-ds="asri"] #dashApp.pubmode{color-scheme:light;--ink:#0f2f3f;--soft:#587079;--bg:#f2f6f5;--surf:#fff;--surf2:#e9f0ee;--line:#dfe8e5;--forest:#07a869;--fdark:#15445a;--ftint:#e1f4eb;--brass:#8f7f45;--btint:#f5f0e1;--teal:#0a8f8c;--blue:#3d7eb9;--bluetint:#e4f0f8;--danger:#a13a2f;--rc:1.25rem;--rl:2.125rem;--dsh:0 1px 2px rgba(21,68,90,.06),0 0.875rem 2.125rem -1rem rgba(21,68,90,.22);--dsh2:0 2px 0.25rem rgba(21,68,90,.07),0 1.5rem 3rem -1.125rem rgba(21,68,90,.32);background:var(--bg);color:var(--ink)}
html[data-ds="asri"] .pubmast{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(0.75rem);backdrop-filter:blur(0.75rem)}
html[data-ds="asri"] #siteMast{box-shadow:0 0.5rem 1.75rem -1rem rgba(21,68,90,.45)}
html[data-ds="asri"]:has(:is(#homepage,#pubView)[style*="block"],#dashApp.pubmode){background:#f2f6f5}
html[data-ds="hadith"]:has(:is(#homepage,#pubView)[style*="block"],#dashApp.pubmode){background:#09181f}
html[data-ds="asri"] .letterbox{display:none}
html[data-ds="asri"] .hero:not(.hero-simple){background:radial-gradient(ellipse 55% 85% at 88% 0%,color-mix(in srgb,var(--forest) 20%,transparent),transparent 62%),radial-gradient(ellipse 50% 75% at 8% 100%,color-mix(in srgb,var(--blue) 18%,transparent),transparent 62%),linear-gradient(180deg,#fff,#eaf3ef);color:var(--ink)}
html[data-ds="asri"] .hero::after{display:none}
html[data-ds="asri"] .hero-glow{opacity:.1}
html[data-ds="asri"] .hero-dots{opacity:.06;filter:invert(1)}
html[data-ds="asri"] .hero h1{color:var(--fdark);text-shadow:none}
html[data-ds="asri"] .hero p{color:var(--soft)}
html[data-ds="asri"] .hero-badge{background:var(--ftint);color:var(--fdark);border-color:transparent;backdrop-filter:none}
html[data-ds="asri"] .hero-rule{height:0.3125rem;background:linear-gradient(90deg,var(--forest),var(--teal))}
html[data-ds="asri"] .stats-in{border-color:transparent;border-radius:var(--rc);box-shadow:var(--dsh2)}
html[data-ds="asri"] .stat b{color:var(--forest);text-shadow:none}
html[data-ds="asri"] :is(.fcard,.vcard,.alb-card,.ct-card,.map-card,.cp-loc,.pic-tile,.hl-dcard,.pn-box){border-color:transparent;box-shadow:var(--dsh)}
html[data-ds="asri"] :is(.fcard,.vcard):hover{transform:translateY(-0.3125rem);box-shadow:var(--dsh2);border-color:transparent}
html[data-ds="asri"] .fcard .fcat{border-radius:6.1875rem}
html[data-ds="asri"] .sechead{margin-bottom:1.75rem}
html[data-ds="asri"] .sechead h2{color:var(--fdark);padding-inline-start:0;text-shadow:none!important}
html[data-ds="asri"] .sechead h2::before{display:none}
html[data-ds="asri"] .sechead h2::after{content:'';position:absolute;inset-inline-start:0;bottom:-0.5rem;width:2.75rem;height:0.3125rem;border-radius:6.1875rem;background:linear-gradient(90deg,var(--forest),var(--teal))}
html[data-ds="asri"] :is(.pr-head h2,.hg-text h2,.pr-banner h2){text-shadow:none!important;color:var(--fdark)}
html[data-ds="asri"] .pr-more,html[data-ds="asri"] .pr-btn:not(.pr-ghost){background:linear-gradient(135deg,var(--forest),var(--teal));border-color:transparent;color:#fff;border-radius:6.1875rem;box-shadow:0 0.625rem 1.5rem -0.625rem var(--forest)}
html[data-ds="asri"] .pr-ghost{border-radius:6.1875rem}
html[data-ds="asri"] .pr-media,html[data-ds="asri"] .hg-media{box-shadow:var(--dsh2)}
html[data-ds="asri"] .ticker-in{box-shadow:var(--dsh2)}
html[data-ds="asri"] .zd-film{background:transparent;border-block:0;height:clamp(2.25rem,5vw,3.25rem)}
html[data-ds="asri"] .zd-film::before,html[data-ds="asri"] .zd-film::after{display:none}
html[data-ds="asri"] .zdiv-line{box-shadow:none;height:2px;opacity:.6}
html[data-ds="asri"] .zdiv-chip{color:var(--fdark);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,var(--c1),var(--c2)) border-box;box-shadow:var(--dsh)}
html[data-ds="asri"] .ft{background:linear-gradient(165deg,#15445a,#0d3042);border-radius:var(--rl) var(--rl) 0 0;margin-top:1.25rem}
html[data-ds="asri"] .rpt{border-radius:var(--rl);border-color:transparent;box-shadow:var(--dsh2)}
html[data-ds="asri"] .rpt-letter{background:var(--ftint)}
html[data-ds="asri"] #dashApp.pubmode .btn{border-radius:6.1875rem}
html[data-ds="asri"] #dashApp.pubmode .btn.primary{background:linear-gradient(135deg,var(--forest),var(--teal));border-color:transparent}
html[data-ds="asri"] .pubbar{box-shadow:0 0.5rem 1.5rem -1.125rem rgba(21,68,90,.4)}

/* ---------------------------------------------------------------------------
   النظام الحديث — داكن كحلي، هندسي مسطّح، حواف حادة، خطوط دقيقة وإبراز بالرملي
   --------------------------------------------------------------------------- */
html[data-ds="hadith"] :is(#homepage,#pubView,#dashApp.pubmode){--ink:#e8f1f4;--soft:#97b2bd;--bg:#09181f;--surf:#0f2531;--surf2:#143242;--line:#1f4256;--rc:0.375rem;--rl:0.625rem;--dsh:none;--dsh2:none}
html[data-ds="hadith"] #dashApp.pubmode{background:var(--bg);color:var(--ink)}
html[data-ds="hadith"] .pubmast{background:var(--surf);border-bottom:2px solid var(--brass)}
html[data-ds="hadith"] #siteMast{box-shadow:none}
html[data-ds="hadith"] .letterbox{display:none}
html[data-ds="hadith"] .hero:not(.hero-simple){background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/2.5rem 2.5rem,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/2.5rem 2.5rem,linear-gradient(180deg,#0a1d27,#0c2531);border-bottom:0.1875rem solid var(--brass)}
html[data-ds="hadith"] .hero::after,html[data-ds="hadith"] .hero-glow,html[data-ds="hadith"] .hero-dots{display:none}
html[data-ds="hadith"] .hero h1{text-shadow:none;letter-spacing:0}
html[data-ds="hadith"] .hero-rule{height:0.25rem;width:4.5rem;border-radius:0;background:var(--brass)}
html[data-ds="hadith"] .hero-badge{border-radius:0.25rem;background:transparent;border-color:var(--brass);color:var(--brass);backdrop-filter:none}
html[data-ds="hadith"] .hero-badge::before{border-radius:0;background:var(--brass);box-shadow:none}
html[data-ds="hadith"] .stats-in{box-shadow:none;border-radius:var(--rc);border-top:0.1875rem solid var(--brass)}
html[data-ds="hadith"] .stat b{color:var(--brass);text-shadow:none}
html[data-ds="hadith"] :is(.fcard,.vcard,.alb-card,.ct-card,.map-card,.cp-loc,.pic-tile,.hl-dcard,.pn-box){box-shadow:none;border:1px solid var(--line);border-top:0.1875rem solid var(--forest);border-radius:var(--rc)}
html[data-ds="hadith"] :is(.fcard,.vcard):hover{transform:none;box-shadow:none;border-color:var(--line);border-top-color:var(--brass)}
html[data-ds="hadith"] .fcard .fcat{border-radius:0.1875rem}
html[data-ds="hadith"] .sechead{padding-bottom:0.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}
html[data-ds="hadith"] .sechead h2{text-shadow:none!important}
html[data-ds="hadith"] .sechead h2::before{top:0.25rem;bottom:0.25rem;width:0.375rem;border-radius:0;background:var(--brass)!important}
html[data-ds="hadith"] :is(.pr-head h2,.hg-text h2,.pr-banner h2){text-shadow:none!important}
html[data-ds="hadith"] .cine::before{background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/2.5rem 2.5rem,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/2.5rem 2.5rem,linear-gradient(180deg,#08171e,#0a1f29 50%,#08171e)}
html[data-ds="hadith"] .cine::after{display:none}
html[data-ds="hadith"] .pr-btn{border-radius:0.25rem;box-shadow:none}
html[data-ds="hadith"] .pr-more,html[data-ds="hadith"] .pr-btn:not(.pr-ghost){background:var(--forest);border-color:var(--forest);color:#052a1b}
html[data-ds="hadith"] .pr-media,html[data-ds="hadith"] .hg-media{box-shadow:none;border:1px solid var(--line);border-top:0.1875rem solid var(--brass)}
html[data-ds="hadith"] .ticker-in{background:color-mix(in srgb,var(--forest) 22%,var(--surf));border:1px solid var(--forest);border-radius:var(--rc);box-shadow:none}
html[data-ds="hadith"] .zd-film{background:transparent;border-block:0;height:clamp(2.25rem,5vw,3.25rem)}
html[data-ds="hadith"] .zd-film::before,html[data-ds="hadith"] .zd-film::after{display:none}
html[data-ds="hadith"] .zdiv-line{box-shadow:none;height:2px;background:linear-gradient(90deg,transparent,var(--brass) 18%,var(--brass) 82%,transparent);opacity:.7}
html[data-ds="hadith"] .zdiv-chip{border-radius:0.25rem;background:linear-gradient(var(--surf),var(--surf)) padding-box,linear-gradient(90deg,var(--brass),var(--brass)) border-box;box-shadow:none}
html[data-ds="hadith"] .ft{background:#06131a;border-top:0.1875rem solid var(--brass)}
html[data-ds="hadith"] .rpt{border-radius:var(--rc);box-shadow:none}
html[data-ds="hadith"] .rpt::before{height:0.25rem;background:var(--brass)}
html[data-ds="hadith"] #dashApp.pubmode .btn{border-radius:0.25rem}
html[data-ds="hadith"] #dashApp.pubmode .btn.primary{background:var(--forest);border-color:var(--forest);color:#052a1b}
html[data-ds="hadith"] .pubbar{border-bottom:2px solid var(--brass)}
}

/* ---- بطاقات اختيار نظام التصميم في لوحة التحكم ---- */
.ds-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));gap:0.875rem}
.ds-tile{display:flex;flex-direction:column;gap:0.625rem;text-align:start;border:2px solid var(--line);border-radius:0.875rem;background:var(--bg);padding:0.75rem;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.ds-tile:hover{transform:translateY(-2px)}
.ds-tile[aria-pressed="true"]{border-color:var(--forest);box-shadow:0 0 0 0.1875rem color-mix(in srgb,var(--forest) 25%,transparent)}
.ds-tile b{font-size:0.9375rem}
.ds-tile small{color:var(--soft);font-size:0.75rem;line-height:1.7}
.ds-tile .ds-tag{align-self:flex-start;font-size:0.65625rem;font-weight:800;background:var(--ftint);color:var(--forest);border-radius:6.1875rem;padding:0.125rem 0.625rem}
.ds-pv{height:7.5rem;border-radius:0.625rem;position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;gap:0.375rem;padding:0.5rem}
.ds-pv i{display:block}
.ds-pv .hd{height:1.25rem;border-radius:0.25rem}
.ds-pv .bd{display:grid;grid-template-columns:repeat(3,1fr);gap:0.375rem}
.ds-pv .bd i{border-radius:0.25rem}
.ds-pv.classic{background:linear-gradient(180deg,#04080b,#071218);border:1px solid #22323a}
.ds-pv.classic .hd{background:linear-gradient(90deg,#07a869,#0da9a6,#3d7eb9)}
.ds-pv.classic .bd i{background:#0f1a20;border:1px solid #22323a}
.ds-pv.asri{background:linear-gradient(180deg,#fff,#e9f3ef)}
.ds-pv.asri .hd{background:linear-gradient(90deg,#07a869,#0da9a6);border-radius:6.1875rem;width:60%;margin:0 auto}
.ds-pv.asri .bd i{background:#fff;border-radius:0.5rem;box-shadow:0 0.375rem 0.75rem -0.25rem rgba(21,68,90,.3)}
.ds-pv.hadith{background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0/0.75rem 0.75rem,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0/0.75rem 0.75rem,#0a1d27;border-bottom:0.1875rem solid #c1b489}
.ds-pv.hadith .hd{background:#143242;border-radius:0}
.ds-pv.hadith .bd i{background:#0f2531;border:1px solid #1f4256;border-top:0.1875rem solid #1ecf8c;border-radius:0.1875rem}
.ds-dots{display:flex;gap:0.3125rem}
.ds-dots span{width:0.875rem;height:0.875rem;border-radius:50%;border:1px solid rgba(0,0,0,.15)}

/* ---------- PRINT: any report prints complete and clean ---------- */
@page{size:A4;margin:14mm}
@media print{
  :root{color-scheme:light;--ink:#000;--soft:#444;--bg:#fff;--surf:#fff;--surf2:#f2f4f3;--line:#b9c0bd;--forest:#067a4c;--teal:#0a7f7c;--blue:#2a6296;--brass:#6f5f2b;--glow1:#07a869;--glow2:#0da9a6;--glow3:#3d7eb9}
  html,body{height:auto!important;background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{position:static!important;top:auto!important}
  #homepage,#loginOverlay,#linkOvl,.lb-backdrop,.side,.menubtn,.crumb,.rpt-toolbar,.draftband,.pubbar,.att-expand,.att-remove,.att-toolbar{display:none!important}
  .shell,.shell.pubmode{display:block!important;min-height:0!important}
  .main{padding:0!important}
  .fadein,.reveal{animation:none!important;opacity:1!important;transform:none!important}
  .rpt{max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;margin:0!important}
  .rpt-head,.rpt-letter,.rpt-sign,.pf,.rpt-meta>div,.att-card{break-inside:avoid;page-break-inside:avoid}
  .rpt-h,.rpt-atts-head{break-after:avoid;page-break-after:avoid}
  .rpt-atts{break-inside:auto;border-radius:0.75rem!important}
  .rpt-atts.collapsed .rpt-atts-body,.rpt-atts-body{display:block!important}
  .rpt-atts-head .chev,.layout-tag{display:none!important}
  .rpt-atts-head{cursor:default}
  /* attachments print as a clean index: name, type, size / link address */
  .att-layout-row,.att-layout-grid,.att-layout-matrix,.att-list{display:block!important;overflow:visible!important}
  .att-card{display:block!important;width:auto!important;flex:none!important;margin:0 0 0.375rem!important;border-radius:0.5rem!important}
  .att-body{display:none!important}
  .att-card-head{background:#fff!important;padding:0.4375rem 0.625rem!important;flex-wrap:wrap}
  .att-printurl{display:block!important;flex-basis:100%;direction:ltr;text-align:start;font-size:0.625rem;color:#444;word-break:break-all}
  .qr-tile{box-shadow:none!important;border:1px solid #999}
  a{color:#000!important;text-decoration:none!important}
}

/* =================== v7 · colored reports (markdown-lite) =================== */
.rpt,.pv{--rc1:var(--forest);--rc2:var(--teal);--rc3:var(--blue);--rc4:#e0953a;--rc5:#a778dc;--rc6:#e0517f}
.pf .md,.pv .md{--mdc:var(--forest)}
.md{font-size:0.9062rem;line-height:1.9;overflow-wrap:anywhere;min-width:0}
.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}
.md-p{margin:0 0 0.5rem}
.md a{color:color-mix(in srgb,var(--mdc) 80%,var(--ink));text-decoration:underline;text-underline-offset:3px}
.md strong{font-weight:800}
.md-h{font-weight:800;line-height:1.6;margin:0.875rem 0 0.375rem;color:color-mix(in srgb,var(--mdc) 82%,var(--ink))}
.md-h1{font-size:1.0938rem;padding-inline-start:0.625rem;border-inline-start:0.25rem solid var(--mdc)}
.md-h2{font-size:1rem;padding-inline-start:0.5rem;border-inline-start:0.1875rem solid color-mix(in srgb,var(--mdc) 70%,transparent)}
.md-h3,.md-sub{font-size:0.9062rem;display:flex;align-items:center;gap:0.4375rem}
.md-h3::before,.md-sub::before{content:'';flex:none;width:0.4375rem;height:0.4375rem;border-radius:0.125rem;background:var(--mdc);transform:rotate(45deg)}
.md-sub{font-weight:800;margin:0.625rem 0 0.25rem;color:color-mix(in srgb,var(--mdc) 82%,var(--ink))}
.md-ul,.md-ol{list-style:none;margin:0.25rem 0 0.625rem;padding:0}
.md-li{position:relative;padding-inline-start:1.625rem;margin:0.25rem 0;line-height:1.85}
.md-li.lv1{margin-inline-start:1.25rem}.md-li.lv2{margin-inline-start:2.5rem}
.md-ul>.md-li::before{content:'';position:absolute;inset-inline-start:0.3125rem;top:0.62em;width:0.5rem;height:0.5rem;border-radius:50%;background:var(--mdc);box-shadow:0 0 0 0.1875rem color-mix(in srgb,var(--mdc) 22%,transparent)}
.md-ul>.md-li.lv1::before{border-radius:0.125rem;transform:rotate(45deg)}
.md-ul>.md-li.lv2::before{background:transparent;border:2px solid var(--mdc);box-shadow:none}
.md-ol{counter-reset:mdn}
.md-ol>.md-li{counter-increment:mdn}
.md-ol>.md-li::before{content:counter(mdn);position:absolute;inset-inline-start:0;top:0.28em;width:1.3125rem;height:1.3125rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.6875rem;font-weight:800;line-height:1;background:color-mix(in srgb,var(--mdc) 20%,var(--surf));color:color-mix(in srgb,var(--mdc) 80%,var(--ink));border:1px solid color-mix(in srgb,var(--mdc) 60%,transparent)}
.md-quote{margin:0.625rem 0;padding:0.5625rem 0.875rem;border-inline-start:0.25rem solid var(--mdc);background:color-mix(in srgb,var(--mdc) 10%,var(--surf));border-radius:0 0.5rem 0.5rem 0}
.md-hr{border:0;height:0.1875rem;border-radius:99px;margin:0.875rem 0;background:linear-gradient(90deg,var(--mdc),transparent)}
.md-tbl-wrap{overflow-x:auto;margin:0.625rem 0;border:1px solid var(--line);border-radius:0.625rem}
.md-tbl{border-collapse:collapse;width:100%;font-size:0.8438rem}
.md-tbl th,.md-tbl td{padding:0.4375rem 0.75rem;text-align:start;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line)}
.md-tbl th:first-child,.md-tbl td:first-child{border-inline-start:0}
.md-tbl tr:last-child td{border-bottom:0}
.md-tbl thead th{background:color-mix(in srgb,var(--mdc) 16%,var(--surf));color:color-mix(in srgb,var(--mdc) 82%,var(--ink));font-weight:800}
.md-tbl tbody tr:nth-child(even){background:color-mix(in srgb,var(--mdc) 5%,transparent)}
/* colored field titles */
.rpt.rc .rpt-fields .pf>b,.pv.rc dt{display:flex;align-items:center;gap:0.5rem;color:color-mix(in srgb,var(--mdc) 82%,var(--ink));font-size:0.8125rem;font-weight:800;padding-bottom:0.25rem;margin-bottom:0.375rem;border-bottom:1px solid color-mix(in srgb,var(--mdc) 28%,transparent)}
.rpt.rc .rpt-fields .pf>b::before,.pv.rc dt::before{content:'';flex:none;width:0.3125rem;height:1.0625em;border-radius:99px;background:var(--mdc)}
.rpt.rc .rpt-fields .pf .pbar i{background:var(--mdc)}
.rpt.rc .rpt-fields .pf .pv-num{color:color-mix(in srgb,var(--mdc) 82%,var(--ink))}
.rpt.rc .rpt-atts-title{color:color-mix(in srgb,var(--rc3) 78%,var(--ink))}
.rpt.rc .rpt-h{color:color-mix(in srgb,var(--rc2) 80%,var(--ink))}
.pv.rc dd{white-space:normal}
.pv.rc dt{margin-top:0.875rem}
.pv dd .md{font-size:0.8438rem}
.rpt-tools .btn.rs-on{border-color:var(--forest);color:var(--fdark)}

/* =================== v7 · attachments: centered + proportional to the page width =================== */
.att-card{container-type:inline-size}
.att-list{--ag:0.75rem;--cols:1;--aw:calc((100% - (var(--cols) - 1) * var(--ag)) / var(--cols));--tile:clamp(11rem,72cqw,26rem)}
@container (min-width:30rem){.att-list{--cols:2}}
@container (min-width:46rem){.att-list{--cols:3}}
.att-list[data-n="1"]{--aw:min(100%,36rem)}
@container (min-width:46rem){.att-list[data-n="2"]{--cols:2}}
.att-layout-row,.att-layout-grid,.att-layout-matrix{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--ag);width:100%;margin-inline:auto;overflow:visible}
.att-layout-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-bottom:0.5rem;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.att-layout-row>.att-card:first-child{margin-inline-start:auto}
.att-layout-row>.att-card:last-child{margin-inline-end:auto}
.att-layout-row>.att-card,.att-layout-grid>.att-card,.att-layout-matrix>.att-card{flex:0 0 var(--aw);width:var(--aw);max-width:100%;scroll-snap-align:center}
/* grid: natural heights, bounded by the card width */
.att-layout-grid .att-body,.att-layout-row .att-body,.att-layout-matrix .att-body{display:flex;flex-direction:column;justify-content:center;align-items:center}
.att-body>div,.att-body>pre,.att-body>video,.att-body>audio,.att-body>.att-scroll{width:100%}
.att-layout-grid .att-body img{max-height:clamp(12rem,105cqw,34rem);width:auto;max-width:100%}
/* row + matrix: uniform tiles whose height follows the card width */
.att-layout-row .att-body,.att-layout-matrix .att-body{min-height:var(--tile)}
.att-layout-row .att-body img,.att-layout-matrix .att-body img{width:100%;height:var(--tile);max-height:none;object-fit:contain}
.att-layout-row .att-body video,.att-layout-matrix .att-body video{width:100%;height:var(--tile);max-height:none;object-fit:contain}
.att-layout-row .att-scroll,.att-layout-matrix .att-scroll{height:var(--tile)!important}
/* previews follow the card width (lightbox keeps its own viewport-based heights) */
.att-body .att-scroll.att-h{height:clamp(14rem,125cqw,46rem)}
.att-body video.att-vid{max-height:clamp(10rem,75cqw,34rem)}
.att-body pre.att-scroll.att-h{height:clamp(12rem,80cqw,34rem)}
.att-manager .att-body .att-scroll.att-h{height:clamp(12rem,70cqw,20rem)}
.att-manager .att-body video.att-vid{max-height:clamp(8rem,56cqw,16rem)}
.lb-body .att-scroll.att-hb{height:75vh}
.lb-body pre.att-scroll.att-hb{height:70vh}
.lb-body video.att-vid{max-height:75vh}
.att-list>.att-empty{flex:1 1 100%}
.rpt-atts-body{display:block}
@media print{
  .att-layout-row,.att-layout-grid,.att-layout-matrix{display:block!important}
  .att-layout-row>.att-card:first-child,.att-layout-row>.att-card:last-child{margin-inline:0!important}
  .md-ol>.md-li::before,.md-ul>.md-li::before{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .md,.md-tbl-wrap{break-inside:auto}.md-h,.md-sub{break-after:avoid;page-break-after:avoid}.md-li,.md-tbl tr{break-inside:avoid;page-break-inside:avoid}
}

/* =================== v7 · محرر بالذكاء الاصطناعي (landing page) =================== */
.ed-nav{display:flex;align-items:center;gap:0.5rem;width:calc(100% - 1.25rem);margin:0.625rem 0.625rem 0.375rem;padding:0.6875rem 0.75rem;border:1px solid color-mix(in srgb,var(--teal) 55%,var(--line));border-radius:0.75rem;background:linear-gradient(135deg,color-mix(in srgb,var(--forest) 16%,var(--surf)),color-mix(in srgb,var(--teal) 12%,var(--surf)));color:var(--ink);font-weight:800;font-size:0.8125rem;text-align:start;transition:transform .15s,border-color .15s}
.ed-nav:hover{border-color:var(--teal);transform:translateY(-1px)}
.ed-nav .ed-nav-ic{flex:none;display:inline-flex;width:1.625rem;height:1.625rem;border-radius:0.5rem;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--forest),var(--teal));color:#fff}
.ed-nav .ed-nav-t{flex:1;min-width:0}
.ed-nav small{display:block;font-size:0.625rem;font-weight:600;color:var(--soft);margin-top:1px}
.ed-nav .ed-nav-dot{flex:none;width:0.5rem;height:0.5rem;border-radius:50%;background:var(--forest);box-shadow:0 0 0 0.1875rem color-mix(in srgb,var(--forest) 30%,transparent)}
.ed-nav .ed-nav-dot[hidden]{display:none}
.ed-nav.on{border-color:var(--forest)}
.ed-pill{position:fixed;z-index:140;bottom:1.125rem;inset-inline-end:1.125rem;display:flex;align-items:center;gap:0.4375rem;border:1px solid var(--forest);background:linear-gradient(135deg,var(--forest),var(--teal));color:#fff;border-radius:6.1875rem;padding:0.625rem 1.125rem;font-weight:800;font-size:0.8125rem;box-shadow:0 0.75rem 1.75rem -0.5rem rgba(0,0,0,.55);cursor:pointer}
.ed-pill[hidden]{display:none}
.ed-pill:hover{filter:brightness(1.08)}
@media (max-width:900px){.ed-pill{bottom:4rem}}

.ed-page{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--font);overflow:hidden;--ed-gap:clamp(0.75rem,2.4vw,1.5rem)}
.ed-page[hidden]{display:none}
.ed-page *{box-sizing:border-box}
.ed-page button,.ed-page select,.ed-page input{font-family:inherit}
.ed-top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;padding:0.625rem var(--ed-gap);background:var(--surf);border-bottom:1px solid var(--line)}
.ed-brand{display:flex;align-items:center;gap:0.625rem;min-width:0}
.ed-mark{flex:none;width:2.375rem;height:2.375rem;border-radius:0.75rem;background:linear-gradient(135deg,var(--forest),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center}
.ed-brand-t{min-width:0}
.ed-brand-t b{display:block;font-size:0.9688rem;font-weight:900;line-height:1.35}
.ed-brand-t small{display:block;font-size:0.6875rem;color:var(--soft);line-height:1.5}
.ed-ctl{display:flex;align-items:center;gap:0.4375rem;flex-wrap:wrap}
.ed-ctl .btn{white-space:nowrap}
.ed-ctl .ed-close:hover{border-color:var(--danger);color:var(--danger)}
.ed-save{display:flex;align-items:center;gap:0.375rem;font-size:0.6875rem;color:var(--soft)}
.ed-save i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--brass)}
.ed-save i.saved{background:var(--forest)}
.ed-seg{display:inline-flex;background:var(--surf2);border:1px solid var(--line);border-radius:6.1875rem;padding:0.1875rem;gap:2px}
.ed-seg button{border:0;background:transparent;color:var(--soft);padding:0.375rem 0.9375rem;border-radius:6.1875rem;font-size:0.75rem;font-weight:700;cursor:pointer}
.ed-seg button.active{background:var(--surf);color:var(--ink);box-shadow:0 1px 0.375rem rgba(0,0,0,.25)}

.ed-tbwrap{flex:none;background:var(--surf);border-bottom:1px solid var(--line)}
.ed-toolbar{display:flex;align-items:center;gap:0.25rem;flex-wrap:wrap;padding:0.4375rem var(--ed-gap)}
.ed-tg{display:flex;align-items:center;gap:0.1875rem;padding-inline-end:0.375rem;margin-inline-end:0.375rem;border-inline-end:1px solid var(--line);flex:none}
.ed-tg:last-of-type{border-inline-end:0}
.ed-tb{border:1px solid transparent;background:transparent;border-radius:0.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:var(--soft);cursor:pointer;flex:none;transition:background .12s,color .12s,border-color .12s;padding:0;font-size:0.8125rem}
.ed-tb:hover{background:var(--surf2);color:var(--ink)}
.ed-tb.active{background:var(--ftint);color:var(--fdark);border-color:var(--forest)}
.ed-tb.wide{width:auto;padding:0 0.625rem;font-size:0.75rem;font-weight:700;gap:0.375rem}
.ed-tb.txt{font-weight:800;font-size:0.9062rem}
.ed-tb.txt.italic{font-style:italic}.ed-tb.txt.underline{text-decoration:underline}.ed-tb.txt.strike{text-decoration:line-through}
.ed-tb.swatch{position:relative}
.ed-bar{position:absolute;bottom:5px;left:7px;right:7px;height:3px;border-radius:2px}
.ed-sel{height:2rem;border-radius:0.5rem;border:1px solid var(--line);background:var(--surf);color:var(--ink);font-size:0.75rem;padding:0 0.5rem;flex:none;max-width:9.5rem}
.ed-sel:hover{border-color:var(--forest)}
.ed-ai-launch{display:flex;align-items:center;gap:0.4375rem;border:1px solid var(--teal);background:linear-gradient(135deg,color-mix(in srgb,var(--teal) 20%,var(--surf)),transparent 140%);color:var(--ink);border-radius:6.1875rem;padding:0 0.875rem;height:2rem;font-weight:800;font-size:0.75rem;flex:none;margin-inline-start:auto;cursor:pointer}
.ed-ai-launch svg{color:var(--teal)}
.ed-ai-launch:hover{background:color-mix(in srgb,var(--teal) 22%,var(--surf))}
.ed-tablebar{display:none;align-items:center;gap:0.375rem;flex-wrap:wrap;padding:0.4375rem var(--ed-gap);background:var(--bluetint);border-top:1px solid var(--line);font-size:0.75rem}
.ed-tablebar.show{display:flex}
.ed-tablebar .lbl{font-weight:800;color:var(--blue);margin-inline-end:0.25rem}
.ed-chip{border:1px solid var(--line);background:var(--surf);color:var(--soft);border-radius:6.1875rem;padding:0.3125rem 0.75rem;font-size:0.75rem;font-weight:700;display:inline-flex;align-items:center;gap:0.3125rem;cursor:pointer}
.ed-chip:hover{border-color:var(--blue);color:var(--ink)}
.ed-chip.danger:hover{border-color:var(--danger);color:var(--danger)}
.ed-chip input[type=color]{width:1rem;height:1rem;padding:0;border:0;background:none;margin-inline-start:0.25rem}
.ed-mini{height:1.625rem;border-radius:6.1875rem;border:1px solid var(--line);background:var(--surf);color:var(--ink);font-size:0.75rem;padding:0 0.5rem}

.ed-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ed-main{max-width:58rem;margin:0 auto;padding:1.5rem var(--ed-gap) 5.5rem}
.ed-title{width:100%;border:0;background:transparent;color:var(--ink);font-weight:900;font-size:clamp(1.5rem,4vw,2.125rem);padding:0.375rem 0.125rem 0.75rem;outline:none}
.ed-title::placeholder{color:var(--soft);opacity:.55}
.ed-meta{display:flex;align-items:center;gap:0.625rem;flex-wrap:wrap;color:var(--soft);font-size:0.75rem;margin-bottom:1rem}
.ed-pill-s{background:var(--ftint);color:var(--fdark);border-radius:6.1875rem;padding:0.1875rem 0.6875rem;font-weight:700}
.ed-hint{opacity:.8}
.ed-paper{--pk-ink:#16241d;--pk-soft:#41544a;--pk-line:#e2dbc8;--pk-forest:#1f5c4a;--pk-fdark:#153f33;--pk-ftint:#e6efe9;--pk-brass:#b8923f;--pk-btint:#f6ecd4;--pk-slate:#3c5a66;--pk-s2:#f1ede1;position:relative;background:#fff;color:var(--pk-ink);border:1px solid var(--line);border-radius:1rem;box-shadow:0 0.625rem 1.875rem -0.875rem rgba(0,0,0,.5);color-scheme:light}
#edEditor{min-height:30rem;padding:clamp(1.25rem,4vw,2.5rem);outline:none;transition:opacity .2s;position:relative}
#edEditor.is-locked{pointer-events:none;opacity:.55}
#edEditor.is-empty::before{content:attr(data-ph);position:absolute;inset-inline:clamp(1.25rem,4vw,2.5rem);top:clamp(1.25rem,4vw,2.5rem);color:#8a9a92;pointer-events:none;font-size:1rem}
.ed-lockflag{display:none;position:absolute;inset-inline:0;top:-0.8125rem;margin:0 auto;width:max-content;background:var(--brass);color:#2a2008;font-size:0.7188rem;font-weight:800;padding:0.25rem 0.875rem;border-radius:6.1875rem;z-index:3}
.ed-paper:has(#edEditor.is-locked) .ed-lockflag{display:block}
.ed-wstat{display:flex;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;color:var(--soft);font-size:0.75rem;padding:0.625rem 0.25rem 0}

.ed-prose{line-height:1.9;font-size:1rem;font-family:'Tajawal','Segoe UI',Tahoma,sans-serif;color:var(--pk-ink)}
.ed-prose h1{font-size:clamp(1.3125rem,3vw,1.6875rem);font-weight:900;margin:0 0 0.875rem;color:var(--pk-fdark);line-height:1.5}
.ed-prose h1:not(:first-child){margin-top:2.375rem;padding-top:1.625rem;border-top:1px dashed var(--pk-line)}
.ed-prose h2{font-size:1.1875rem;font-weight:800;margin:1.625rem 0 0.625rem;line-height:1.55}
.ed-prose h3{font-size:1.0312rem;font-weight:800;margin:1.25rem 0 0.5rem;color:var(--pk-slate)}
.ed-prose p{margin:0 0 0.875rem}
.ed-prose ul,.ed-prose ol{margin:0 0 0.875rem;padding-inline-start:1.5rem}
.ed-prose li{margin-bottom:0.375rem}
.ed-prose blockquote{margin:1.125rem 0;padding:0.75rem 1rem;border-inline-start:3px solid var(--pk-brass);background:var(--pk-btint);border-radius:0 0.5rem 0.5rem 0}
.ed-prose blockquote.summary-block{border-inline-start-color:var(--pk-forest);background:var(--pk-ftint)}
.ed-prose a{color:var(--pk-fdark);text-decoration:underline;text-underline-offset:3px}
.ed-prose hr{border:0;height:1px;background:var(--pk-line);margin:1.625rem 0}
.ed-prose img.ed-img{max-width:100%;height:auto;border-radius:0.625rem;display:block;margin:0.875rem 0}
.ed-prose video.ed-media,.ed-prose audio.ed-media{max-width:100%;display:block;margin:0.875rem 0;border-radius:0.625rem}
.ed-prose .file-chip,.ed-prose .qr-chip,.ed-prose .report-btn{text-decoration:none}
.ed-prose .file-chip{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--pk-line);background:var(--pk-s2);border-radius:0.625rem;padding:0.5rem 0.75rem;font-size:0.8438rem;font-weight:700;color:var(--pk-ink);margin:0.375rem 0}
.ed-prose .qr-chip{display:flex;align-items:center;gap:0.75rem;border:1px solid var(--pk-line);background:var(--pk-s2);border-radius:0.75rem;padding:0.75rem 0.875rem;margin:0.875rem 0;max-width:21.25rem}
.ed-prose .qr-chip .qr-icon{flex:none;color:var(--pk-fdark)}
.ed-prose .qr-chip .qr-text{font-size:0.7812rem;line-height:1.6}
.ed-prose .qr-chip .qr-text b{display:block;font-size:0.8125rem;margin-bottom:2px}
.ed-prose .report-btn{display:inline-block;background:var(--pk-forest);color:#fff!important;font-weight:800;font-size:0.8438rem;padding:0.5625rem 1.25rem;border-radius:6.1875rem;margin:0.5rem 0}
.ed-prose table.editor-table{border-collapse:collapse;width:100%;font-size:0.875rem;--tbl-border-color:#c9bfa8;--tbl-border-width:1px;--tbl-border-style:solid}
.ed-prose .table-wrap{overflow-x:auto;margin:1rem 0;border-radius:0.625rem}
.ed-prose table.editor-table th,.ed-prose table.editor-table td{border:var(--tbl-border-width) var(--tbl-border-style) var(--tbl-border-color);padding:0.5625rem 0.75rem;text-align:start;min-width:5.6rem}
.ed-prose table.editor-table thead th{background:var(--pk-ftint);color:var(--pk-fdark);font-weight:800}
.ed-prose table.editor-table.table-headerless thead th{background:transparent;color:var(--pk-ink);font-weight:700}
.ed-prose table.editor-table.table-zebra tbody tr:nth-child(even){background:var(--pk-s2)}
.ed-prose .muted{color:var(--pk-soft)}
#edEditor table.editor-table td:focus,#edEditor table.editor-table th:focus{outline:2px solid var(--pk-slate);outline-offset:-2px}

.ed-prevbar{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;flex-wrap:wrap;margin-bottom:1rem}
.ed-prevbar h2{margin:0;font-size:1.1875rem}
.ed-viewtog{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.7812rem;color:var(--soft);flex-wrap:wrap}
#edDocPreview{padding:clamp(1.25rem,4vw,2.5rem)}
#edSeqPreview{overflow:hidden}
.ed-seqshell{padding:0.375rem 0.375rem 0}
.ed-seqview{overflow:hidden;border-radius:0.75rem;background:var(--pk-s2)}
.ed-seqtrack{display:flex;direction:ltr;transition:transform .5s cubic-bezier(.65,0,.35,1);will-change:transform}
.ed-seqslide{flex:0 0 100%;direction:rtl;min-height:56vh;display:flex;align-items:center}
.ed-seqslide .slide-content{padding:clamp(1.625rem,6vw,3.75rem);width:100%}
.ed-seqnav{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 0.625rem 0.25rem}
.ed-seqbtn{display:flex;align-items:center;gap:0.4375rem;border:1px solid var(--pk-line);background:#fff;color:var(--pk-ink);border-radius:6.1875rem;padding:0.5rem 1rem;font-weight:700;font-size:0.8125rem;cursor:pointer}
.ed-seqbtn:hover{border-color:var(--pk-forest);color:var(--pk-fdark)}
.ed-seqbtn[disabled]{opacity:.35;pointer-events:none}
.ed-seqdots{display:flex;gap:0.4375rem}
.ed-seqdot{width:0.4375rem;height:0.4375rem;border-radius:99px;background:var(--pk-line);border:0;padding:0;cursor:pointer}
.ed-seqdot.active{background:var(--pk-forest);width:1.25rem}
.ed-rptprev{background:var(--surf);color:var(--ink);border:1px solid var(--line);border-radius:1rem;padding:clamp(1.25rem,4vw,2.25rem);--rc1:var(--forest);--rc2:var(--teal);--rc3:var(--blue);--rc4:#e0953a;--rc5:#a778dc;--rc6:#e0517f}
.ed-rptprev .md{--mdc:var(--forest)}
.ed-rptprev .ed-rp-note{font-size:0.6875rem;color:var(--soft);margin-bottom:0.875rem;display:flex;justify-content:space-between;gap:0.5rem;flex-wrap:wrap;align-items:center}
.ed-rptprev .ed-rp-sec{margin-bottom:1.125rem}
.ed-rptprev .ed-rp-sec>b{display:flex;align-items:center;gap:0.5rem;color:color-mix(in srgb,var(--mdc) 82%,var(--ink));font-size:0.8125rem;font-weight:800;padding-bottom:0.25rem;margin-bottom:0.375rem;border-bottom:1px solid color-mix(in srgb,var(--mdc) 28%,transparent)}
.ed-rptprev .ed-rp-sec>b::before{content:'';flex:none;width:0.3125rem;height:1.0625em;border-radius:99px;background:var(--mdc)}

.ed-popover{position:fixed;z-index:200;background:var(--surf);color:var(--ink);border:1px solid var(--line);border-radius:0.75rem;box-shadow:0 1rem 2.25rem -0.75rem rgba(0,0,0,.6);padding:0.875rem;min-width:14.375rem;max-width:min(24rem,calc(100vw - 1.5rem));max-height:min(32rem,calc(100vh - 6rem));overflow:auto;opacity:0;transform:translateY(-6px);transition:opacity .14s,transform .14s}
.ed-popover.open{opacity:1;transform:none}
.ed-popover h4{margin:0 0 0.625rem;font-size:0.8125rem;font-weight:800}
.ed-popover label{font-size:0.75rem;color:var(--soft);display:block;margin-bottom:0.3125rem}
.ed-popover input[type=text],.ed-popover input[type=url],.ed-popover input[type=search]{width:100%;border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.625rem;font-size:0.8438rem;margin-bottom:0.625rem;background:var(--bg);color:var(--ink)}
.ed-popover .prow{display:flex;gap:0.5rem;justify-content:flex-end;flex-wrap:wrap}
.ed-pbtn{border-radius:0.5rem;padding:0.4375rem 0.875rem;font-size:0.7812rem;font-weight:700;border:1px solid var(--line);background:var(--surf);color:var(--ink);cursor:pointer}
.ed-pbtn.primary{background:var(--forest);border-color:var(--forest);color:#fff}
.ed-grid{display:grid;grid-template-columns:repeat(8,1.125rem);gap:3px;margin-bottom:0.5rem}
.ed-gc{width:1.125rem;height:1.125rem;border-radius:3px;background:var(--surf2);border:1px solid var(--line)}
.ed-gc.on{background:var(--forest);border-color:var(--forest)}
.ed-glabel{font-size:0.75rem;text-align:center;color:var(--soft);margin-bottom:0.375rem}
.ed-menu{display:flex;flex-direction:column;gap:2px;min-width:13rem}
.ed-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:start;border:0;background:transparent;color:var(--ink);padding:0.5rem 0.625rem;border-radius:0.5rem;font-size:0.8125rem;font-weight:700;cursor:pointer}
.ed-menu button small{font-weight:500;font-size:0.6875rem;color:var(--soft)}
.ed-menu button:hover{background:var(--surf2)}
.ed-menu button[disabled]{opacity:.4;pointer-events:none}

.ed-backdrop{position:absolute;inset:0;background:rgba(5,10,13,.5);z-index:300;opacity:0;pointer-events:none;transition:opacity .2s}
.ed-backdrop.open{opacity:1;pointer-events:auto}
.ed-ai{position:absolute;top:0;bottom:0;left:0;width:min(25.5rem,94vw);background:var(--surf);color:var(--ink);z-index:301;box-shadow:0.5rem 0 1.875rem -0.625rem rgba(0,0,0,.5);transform:translateX(-102%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;visibility:hidden}
.ed-ai.open{transform:none;visibility:visible}
.ed-ai-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1.125rem;border-bottom:1px solid var(--line)}
.ed-ai-head h3{margin:0;font-size:0.9375rem;font-weight:800;display:flex;align-items:center;gap:0.5rem}
.ed-ai-head h3 svg{color:var(--teal)}
.ed-x{width:1.875rem;height:1.875rem;border:0;background:var(--surf2);border-radius:0.5rem;display:flex;align-items:center;justify-content:center;color:var(--soft);cursor:pointer}
.ed-x:hover{color:var(--ink)}
.ed-ai-body{flex:1;overflow-y:auto;padding:0.875rem 1.125rem 1.625rem;display:flex;flex-direction:column;gap:0.875rem}
.ed-hintbox{font-size:0.75rem;color:var(--soft);background:var(--surf2);border-radius:0.625rem;padding:0.625rem 0.75rem;line-height:1.7}
.ed-hintbox.error{background:color-mix(in srgb,var(--danger) 14%,var(--surf));color:var(--danger)}
.ed-hintbox.eng{display:flex;align-items:center;gap:0.4375rem;font-weight:700}
.ed-ai-search{width:100%;border:1px solid var(--line);border-radius:6.1875rem;padding:0.4375rem 0.875rem;font-size:0.8125rem;background:var(--bg);color:var(--ink)}
.ed-free{border:1px solid var(--teal);border-radius:0.75rem;padding:0.625rem;background:color-mix(in srgb,var(--teal) 8%,var(--surf));display:flex;flex-direction:column;gap:0.5rem}
.ed-free textarea{width:100%;min-height:3.75rem;resize:vertical;border:1px solid var(--line);border-radius:0.5rem;padding:0.5rem 0.625rem;font-size:0.8125rem;background:var(--bg);color:var(--ink);line-height:1.7}
.ed-free .row{display:flex;gap:0.375rem;flex-wrap:wrap}
.ed-free .row button{flex:1;min-width:6.5rem}
.ed-grp{border:0}
.ed-grp>summary{list-style:none;cursor:pointer;font-size:0.7188rem;font-weight:800;color:var(--soft);padding:0.125rem 0 0.4375rem;display:flex;align-items:center;gap:0.4375rem}
.ed-grp>summary::-webkit-details-marker{display:none}
.ed-grp>summary::after{content:'';flex:1;height:1px;background:var(--line)}
.ed-grp>summary .cnt{font-weight:600;opacity:.8}
.ed-acts{display:grid;grid-template-columns:1fr 1fr;gap:0.4375rem}
.ed-act{text-align:start;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:0.625rem;padding:0.5625rem 0.6875rem;font-size:0.75rem;font-weight:700;line-height:1.5;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.ed-act span.sub{font-weight:500;color:var(--soft);font-size:0.6562rem}
.ed-act:hover{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 10%,var(--surf))}
.ed-act.local{border-style:dashed}
.ed-act[hidden]{display:none}
.ed-review{border:1px solid var(--line);border-radius:0.75rem;overflow:hidden}
.ed-rv-head{display:flex;align-items:center;justify-content:space-between;background:var(--surf2);padding:0.5625rem 0.75rem;font-size:0.75rem;font-weight:700;gap:0.5rem}
.ed-rv-stop{border:0;background:transparent;color:var(--danger);font-size:0.7188rem;font-weight:700;cursor:pointer}
.ed-blk{padding:0.75rem}
.ed-blk .lbl{font-size:0.6875rem;font-weight:800;color:var(--soft);margin-bottom:0.375rem;display:flex;justify-content:space-between;gap:0.5rem}
.ed-cur{font-size:0.8125rem;color:var(--soft);background:var(--surf2);border-radius:0.5rem;padding:0.625rem;max-height:6.875rem;overflow-y:auto;white-space:pre-wrap;line-height:1.7}
.ed-sug{font-size:0.8438rem;border:1px solid var(--teal);border-radius:0.5rem;padding:0.625rem;min-height:3.75rem;max-height:15rem;overflow-y:auto;white-space:pre-wrap;line-height:1.8;background:color-mix(in srgb,var(--teal) 8%,var(--surf));outline:none}
.ed-sug:empty::before{content:'جارٍ التفكير…';color:var(--soft)}
.ed-sug .table-wrap{overflow-x:auto}
.ed-sug table{border-collapse:collapse;font-size:0.75rem;width:100%;white-space:normal}
.ed-sug th,.ed-sug td{border:1px solid var(--line);padding:0.3125rem 0.5rem;text-align:start}
.ed-rv-act{display:flex;flex-wrap:wrap;gap:0.4375rem;padding:0 0.75rem 0.75rem}
.ed-rv-act button{flex:1;min-width:6.875rem;border-radius:0.5rem;padding:0.5625rem 0.625rem;font-size:0.75rem;font-weight:700;border:1px solid var(--line);background:var(--surf);color:var(--ink);cursor:pointer}
.ed-rv-act .apply{background:var(--forest);border-color:var(--forest);color:#fff}
.ed-rv-act .cancel{color:var(--soft)}
.ed-refine{display:flex;gap:0.375rem;padding:0 0.75rem 0.75rem}
.ed-refine input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6.1875rem;padding:0.4375rem 0.75rem;font-size:0.75rem;background:var(--bg);color:var(--ink)}
.ed-tip{font-size:0.6875rem;color:var(--soft);padding:0 0.75rem 0.75rem;line-height:1.7}
.ed-titles{display:flex;flex-direction:column;gap:0.375rem}
.ed-titles button{text-align:start;border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:0.5rem;padding:0.5rem 0.625rem;font-size:0.8125rem;font-weight:700;cursor:pointer;line-height:1.6}
.ed-titles button:hover{border-color:var(--teal)}

.ed-dovl{position:absolute;inset:0;z-index:400;background:rgba(5,10,13,.62);display:flex;align-items:center;justify-content:center;padding:1rem}
.ed-dlg{background:var(--surf);color:var(--ink);border:1px solid var(--line);border-radius:1rem;width:min(38rem,100%);max-height:min(44rem,calc(100vh - 2rem));display:flex;flex-direction:column;box-shadow:0 1.875rem 4.375rem -1.25rem rgba(0,0,0,.6)}
.ed-dlg-h{flex:none;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.875rem 1.125rem;border-bottom:1px solid var(--line)}
.ed-dlg-h h3{margin:0;font-size:0.9688rem}
.ed-dlg-b{flex:1;min-height:0;overflow:auto;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:0.875rem}
.ed-dlg-f{flex:none;display:flex;gap:0.5rem;justify-content:flex-end;flex-wrap:wrap;padding:0.75rem 1.125rem;border-top:1px solid var(--line)}
.ed-dlg label.fl{display:flex;flex-direction:column;gap:0.3125rem;font-size:0.75rem;font-weight:700;color:var(--soft)}
.ed-dlg select,.ed-dlg input[type=text],.ed-dlg input[type=search]{border:1px solid var(--line);border-radius:0.5rem;background:var(--bg);color:var(--ink);padding:0.5rem 0.625rem;font-size:0.8438rem;width:100%}
.ed-dlg .opt{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.8125rem;line-height:1.6;cursor:pointer}
.ed-dlg .opt input{margin-top:0.3125rem}
.ed-dlg .opt small{display:block;color:var(--soft);font-size:0.6875rem}
.ed-dlg .box{border:1px solid var(--line);border-radius:0.75rem;padding:0.75rem;background:var(--surf2);display:flex;flex-direction:column;gap:0.625rem}
.ed-dlg .box h5{margin:0;font-size:0.7812rem;color:var(--soft)}
.ed-map{display:grid;grid-template-columns:1fr minmax(8rem,12rem);gap:0.4375rem 0.625rem;align-items:center;font-size:0.8125rem}
.ed-map .sec{min-width:0}
.ed-map .sec b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-map .sec small{color:var(--soft);font-size:0.6562rem}
.ed-note{font-size:0.7188rem;color:var(--soft);line-height:1.7}
.ed-note.warn{color:var(--brass)}
.ed-doclist{display:flex;flex-direction:column;gap:0.4375rem}
.ed-docrow{display:flex;align-items:center;gap:0.625rem;border:1px solid var(--line);border-radius:0.625rem;padding:0.5625rem 0.75rem;background:var(--surf)}
.ed-docrow.cur{border-color:var(--forest);background:var(--ftint)}
.ed-docrow .t{flex:1;min-width:0}
.ed-docrow .t b{display:block;font-size:0.8438rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-docrow .t small{color:var(--soft);font-size:0.6875rem}
.ed-docrow button{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:0.5rem;padding:0.3125rem 0.625rem;font-size:0.7188rem;font-weight:700;cursor:pointer}
.ed-docrow button.del:hover{border-color:var(--danger);color:var(--danger)}
.ed-toast{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(1rem);background:#0e2a22;color:#c8f3e0;border:1px solid var(--forest);padding:0.5625rem 1.125rem;border-radius:6.1875rem;font-size:0.8125rem;font-weight:700;opacity:0;pointer-events:none;transition:all .25s;z-index:600;max-width:90vw;text-align:center}
.ed-toast.show{opacity:1;transform:translateX(-50%)}
@media (max-width:760px){
  .ed-brand-t small{display:none}
  .ed-toolbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ed-ai-launch{margin-inline-start:0.5rem}
  .ed-acts{grid-template-columns:1fr}
  .ed-map{grid-template-columns:1fr}
  .ed-ctl .btn{padding:0.375rem 0.5625rem}
  .ed-top{padding-block:0.4375rem}
}
@media (prefers-reduced-motion:reduce){.ed-ai,.ed-backdrop,.ed-popover,.ed-seqtrack,.ed-toast{transition:none}}
@media print{
  body.ed-printing>*:not(#edPage){display:none!important}
  body.ed-printing #edPage{position:static!important;display:block!important;overflow:visible!important;background:#fff!important}
  body.ed-printing .ed-top,body.ed-printing .ed-tbwrap,body.ed-printing .ed-ai,body.ed-printing .ed-backdrop,body.ed-printing .ed-title,body.ed-printing .ed-meta,body.ed-printing .ed-wstat,body.ed-printing .ed-toast,body.ed-printing #edPill,body.ed-printing .ed-lockflag{display:none!important}
  body.ed-printing .ed-scroll{overflow:visible!important}
  body.ed-printing .ed-paper{border:0!important;box-shadow:none!important}
  body.ed-printing #edEditor{min-height:0!important;padding:0!important}
  body.ed-printing #edEditor::before{display:none!important}
}

.ed-flash{animation:edFlash 1.9s ease;border-radius:0.5rem}
@keyframes edFlash{0%{box-shadow:0 0 0 0.25rem color-mix(in srgb,var(--teal) 55%,transparent);background:color-mix(in srgb,var(--teal) 10%,transparent)}100%{box-shadow:0 0 0 0.25rem transparent;background:transparent}}
@media print{#edPage,.ed-pill{display:none!important}body.ed-printing #edPage{display:block!important}}

/* ===== v8 — منتقي فترة التنفيذ (تقويم هجري/ميلادي) ===== */
.fld-dr .dr-row{display:flex;gap:0.375rem;align-items:stretch}
.dr-btn{flex:1;min-width:0;display:flex;align-items:center;gap:0.625rem;text-align:start;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:0.5rem;padding:0.5rem 0.75rem;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}
.dr-btn:hover{border-color:var(--forest)}
.dr-btn:focus-visible{outline:2px solid var(--forest);outline-offset:1px}
.dr-ic{flex:none;display:grid;place-items:center;width:2.125rem;height:2.125rem;border-radius:0.5625rem;background:var(--ftint);color:var(--forest)}
.dr-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:0.125rem}
.dr-main{font-size:0.8438rem;font-weight:800;letter-spacing:0}
.dr-sub{font-size:0.6875rem;color:var(--soft);font-weight:500}
.fld-dr:not(.has) .dr-main{color:var(--soft);font-weight:600}
.dr-dur{flex:none;font-size:0.6875rem;font-weight:800;color:var(--forest);background:var(--ftint);border-radius:6.1875rem;padding:0.1875rem 0.625rem;white-space:nowrap}
.dr-clr{flex:none;width:2.375rem;border:1px solid var(--line);background:var(--bg);color:var(--soft);border-radius:0.5rem;cursor:pointer;font-size:0.8125rem}
.dr-clr:hover{color:var(--danger);border-color:var(--danger)}
.drp-ovl{position:fixed;inset:0;z-index:600;background:rgba(5,10,13,.62);display:flex;align-items:center;justify-content:center;padding:0.75rem;overflow:auto;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.drp{width:min(25rem,100%);max-height:calc(100vh - 1.5rem);overflow:auto;background:var(--surf);color:var(--ink);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1.5rem 3.5rem rgba(0,0,0,.45);padding:0.875rem 0.875rem 0.75rem;direction:rtl;container-type:inline-size}
.drp-top{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.625rem}
.drp-top b{font-size:0.9375rem}
.drp-x{width:2rem;height:2rem;border-radius:0.5rem;border:1px solid var(--line);background:var(--bg);color:var(--soft);cursor:pointer}
.drp-bar{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.625rem}
.drp-sys{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:6.1875rem;padding:0.1875rem}
.drp-sys button{border:0;background:transparent;color:var(--soft);font:inherit;font-size:0.75rem;font-weight:800;padding:0.3125rem 0.9375rem;border-radius:6.1875rem;cursor:pointer}
.drp-sys button.on{background:var(--forest);color:#fff}
.drp-today{border:1px solid var(--line);background:var(--bg);color:var(--forest);font:inherit;font-size:0.75rem;font-weight:800;border-radius:6.1875rem;padding:0.375rem 0.875rem;cursor:pointer}
.drp-today:hover{border-color:var(--forest)}
.drp-nav{display:flex;align-items:center;gap:0.375rem;margin-bottom:0.5rem}
.drp-arr{flex:none;width:2.125rem;height:2.125rem;display:grid;place-items:center;border-radius:0.5625rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.drp-arr:hover{border-color:var(--forest);color:var(--forest)}
.drp-hd{flex:1;min-width:0;text-align:center}
.drp-sel{display:flex;gap:0.375rem;justify-content:center}
.drp-sel select{width:auto;min-width:0;flex:1;max-width:8.5rem;border:1px solid var(--line);border-radius:0.5rem;padding:0.3125rem 0.375rem;background:var(--bg);color:var(--ink);font:inherit;font-size:0.8125rem;font-weight:800}
.drp-sub{display:block;margin-top:0.25rem;font-size:0.6875rem;color:var(--soft);font-weight:600}
.drp-wd,.drp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0.125rem}
.drp-wd span{text-align:center;font-size:0.6875rem;font-weight:800;color:var(--soft);padding:0.25rem 0}
.drp-wd .wk{color:var(--brass)}
.drp-d{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.0625rem;min-height:2.875rem;border:1px solid transparent;border-radius:0.625rem;background:transparent;color:var(--ink);cursor:pointer;font:inherit;padding:0.125rem 0}
.drp-d b{font-size:0.9062rem;font-weight:800;line-height:1.15}
.drp-d i{font-style:normal;font-size:0.5938rem;font-weight:600;color:var(--soft);line-height:1.1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:clip}
.drp-d.wk b{color:var(--brass)}
.drp-d.out{opacity:.38}
.drp-d:hover{background:var(--surf2)}
.drp-d:focus-visible{outline:2px solid var(--forest);outline-offset:-2px}
.drp-d.today{border-color:var(--brass)}
.drp-d.r{background:color-mix(in srgb,var(--forest) 16%,transparent);border-radius:0}
.drp-d.s,.drp-d.e,.drp-d.one{background:var(--forest);color:#fff;border-color:var(--forest)}
.drp-d.s b,.drp-d.e b,.drp-d.one b,.drp-d.s i,.drp-d.e i,.drp-d.one i{color:#fff}
.drp-d.s i,.drp-d.e i,.drp-d.one i{opacity:.85}
.drp-d.s:not(.one){border-start-end-radius:0.625rem;border-end-end-radius:0.625rem;border-start-start-radius:0;border-end-start-radius:0}
.drp-d.e:not(.one){border-start-start-radius:0.625rem;border-end-start-radius:0.625rem;border-start-end-radius:0;border-end-end-radius:0}
.drp-sum{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-top:0.75rem}
.drp-sum>div{background:var(--bg);border:1px solid var(--line);border-radius:0.625rem;padding:0.4375rem 0.625rem;min-width:0}
.drp-sum small{display:block;font-size:0.625rem;font-weight:800;color:var(--soft);margin-bottom:0.125rem}
.drp-sum b{display:block;font-size:0.7188rem;line-height:1.5;overflow-wrap:anywhere}
.drp-n{margin-top:0.5rem;text-align:center;font-size:0.75rem;font-weight:800;color:var(--forest)}
.drp-act{display:flex;gap:0.5rem;justify-content:flex-end;margin-top:0.75rem}
.drp-act .btn{min-width:4.5rem}
@container (max-width:20rem){.drp-d{min-height:2.5rem}.drp-d i{font-size:0.5313rem}.drp-sum{grid-template-columns:1fr}}
@media (max-width:30rem){.drp-ovl{align-items:flex-end;padding:0}.drp{width:100%;max-height:94vh;border-radius:1.125rem 1.125rem 0 0}}
@media (prefers-reduced-motion:no-preference){.drp{animation:drpIn .16s ease-out}@keyframes drpIn{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:none}}}

.rpt-meta>div.rng{grid-column:span 2}
.rpt-meta>div.rng dd{line-height:1.7}
@media (max-width:30rem){.rpt-meta>div.rng{grid-column:1/-1}}

/* =================== v9 · حماية الملفات: معاينة فقط =================== */
.att-body,.lb-body,.pdfv,.av{-webkit-touch-callout:none}
.att-body,.lb-body,.pdfv{-webkit-user-select:none;user-select:none}
.att-body img,.lb-body img,.av-img,.av-th img,.pdfv-cv{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.att-body img,.lb-body img,.av-img{pointer-events:none}
.pdfv{position:relative;background:var(--surf2);outline:none}
.pdfv:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.pdfv-bar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:0.5rem;min-height:2rem;padding:0.25rem 0.625rem;font-size:0.75rem;color:var(--soft);background:color-mix(in srgb,var(--surf) 90%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.pdfv-zs{display:inline-flex;gap:0.25rem}
.pdfv-b{min-width:2rem;height:1.625rem;padding:0 0.5rem;border:1px solid var(--line);border-radius:0.5rem;background:var(--surf2);color:var(--ink);font:inherit;font-size:0.75rem;cursor:pointer}
.pdfv-b:hover{border-color:var(--teal)}
.pdfv-pages{display:flex;flex-direction:column;gap:0.625rem;padding:0.625rem}
.pdfv-p{flex:none;position:relative;margin-inline:auto;background:#fff;border-radius:2px;box-shadow:0 1px 8px rgba(0,0,0,.28);overflow:hidden}
.pdfv-p canvas{display:block;width:100%;height:100%;-webkit-touch-callout:none}
.att-body .pdfv{width:100%}
.att-playbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.375rem;width:100%;min-height:9rem;padding:1rem;border:0;background:var(--surf2);color:var(--ink);font:inherit;cursor:pointer;text-align:center}
.att-playbtn:hover{background:color-mix(in srgb,var(--teal) 10%,var(--surf2))}
.att-playbtn .att-ico-big{font-size:2.25rem;line-height:1}
.att-playbtn>span:last-child{font-size:0.75rem;color:var(--soft);word-break:break-word}
.att-protect{margin-top:0.375rem;font-size:0.75rem;color:var(--soft)}
@media print{.pdfv,.att-playbtn{display:none!important}}

/* =====================================================================
   v11 — landing pages for every section (11 designs) + connectors + 18 views
   ===================================================================== */
:is(#homepage,#pubView) .lp{max-width:65rem;margin:0 auto;padding:4.5rem 1.25rem;position:relative}
.cine.lp{padding-block:4.5rem}
:is(#homepage,#pubView) .lp-in{position:relative}
:is(#homepage,#pubView) .lp-text{min-width:0}
:is(#homepage,#pubView) .lp-eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--a2);font-weight:800;font-size:.875rem;margin-bottom:.7rem}
:is(#homepage,#pubView) .lp-h{font-size:clamp(1.75rem,4.6vw,2.9rem);font-weight:900;line-height:1.4;margin:0 0 .8rem;overflow-wrap:anywhere;letter-spacing:-.3px}
:is(#homepage,#pubView) .lp-sub{color:var(--soft);font-size:.95rem;line-height:1.95;margin:0 0 1.4rem;max-width:36rem}
:is(#homepage,#pubView) .lp-pts{list-style:none;margin:0;padding:0}
:is(#homepage,#pubView) .lp-pt{overflow-wrap:anywhere;min-width:0}
:is(#homepage,#pubView) .lp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:center}
:is(#homepage,#pubView) .lp-nomedia .lp-grid,:is(#homepage,#pubView) .lp-nomedia .lp-top{grid-template-columns:minmax(0,1fr)}
:is(#homepage,#pubView) .lp-media{margin:0;position:relative;overflow:hidden;width:100%;min-width:0;background:linear-gradient(135deg,var(--a1),var(--a2));isolation:isolate}
:is(#homepage,#pubView) .lp-img,:is(#homepage,#pubView) .lp-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
:is(#homepage,#pubView) .lp-img{animation:kenburns 26s ease-in-out infinite alternate;transform-origin:50% 40%}
:is(#homepage,#pubView) .lp-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.42)}
:is(#homepage,#pubView) .lp-ph svg{width:36%;height:36%;max-width:7rem;max-height:7rem}
:is(#homepage,#pubView) .lp-click{cursor:pointer}
:is(#homepage,#pubView) .lp-play{position:absolute;inset:0;margin:auto;width:4.75rem;height:4.75rem;border-radius:50%;background:#fff;border:0;color:var(--a1);font-size:1.6rem;display:flex;align-items:center;justify-content:center;box-shadow:0 .875rem 1.875rem -.625rem rgba(0,0,0,.5);transition:transform .2s;z-index:3;padding-inline-start:.25rem;cursor:pointer}
:is(#homepage,#pubView) .lp-click:hover .lp-play{transform:scale(1.08)}
:is(#homepage,#pubView) .lp-play:focus-visible{outline:.1875rem solid #fff;outline-offset:.1875rem}
@keyframes lpFloat{50%{transform:translateY(-.8rem) rotate(8deg)}}
@keyframes lpSpin{to{transform:rotate(360deg)}}
@keyframes lpPulse{50%{transform:scale(1.25);opacity:.75}}
@keyframes lpBlink{50%{opacity:.15}}
@keyframes lpMorph{50%{border-radius:40% 60% 38% 62%/58% 42% 58% 42%}}
@keyframes lpTwinkle{50%{opacity:.35}}
@keyframes lpHalo{50%{box-shadow:0 0 0 1.1rem color-mix(in srgb,var(--a1) 22%,transparent),0 0 0 2.4rem color-mix(in srgb,var(--a1) 10%,transparent),0 2rem 4rem -1rem var(--a1)}}
@keyframes lpRise{from{transform:translateY(0);opacity:0}20%{opacity:.8}to{transform:translateY(-6rem);opacity:0}}

/* ---------- 1) roadmap — خارطة طريق ---------- */
:is(#homepage,#pubView) .lp-roadmap .lp-in{border:1px solid color-mix(in srgb,var(--a1) 38%,transparent);border-radius:1.5rem;padding:2.5rem 2.25rem 2.25rem;background-color:color-mix(in srgb,var(--a1) 5%,transparent);background-image:linear-gradient(color-mix(in srgb,var(--a1) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--a1) 14%,transparent) 1px,transparent 1px);background-size:1.75rem 1.75rem}
:is(#homepage,#pubView) .lp-roadmap .lp-in::before{content:'خارطة طريق';position:absolute;top:-.8rem;inset-inline-start:2rem;background:var(--a1);color:#fff;font-size:.72rem;font-weight:800;padding:.2rem .85rem;border-radius:99px;letter-spacing:.4px}
:is(#homepage,#pubView) .lp-roadmap .lp-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.25rem;align-items:center}
:is(#homepage,#pubView) .lp-roadmap .lp-frame{aspect-ratio:16/10;border-radius:1rem;border:2px solid var(--a1);box-shadow:0 0 0 .45rem color-mix(in srgb,var(--a1) 14%,transparent),0 1.5rem 3rem -1.5rem var(--a1)}
:is(#homepage,#pubView) .lp-roadmap .lp-steps{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1rem;position:relative}
:is(#homepage,#pubView) .lp-roadmap .lp-steps::before{content:'';position:absolute;top:1.2rem;inset-inline:6%;border-top:2px dashed var(--a1);opacity:.75}
:is(#homepage,#pubView) .lp-roadmap .lp-steps li{position:relative;padding-top:3.2rem;text-align:center;font-weight:700;font-size:.9rem;line-height:1.7}
:is(#homepage,#pubView) .lp-roadmap .lp-n{position:absolute;top:0;inset-inline:0;margin-inline:auto;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--a1);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 0 0 .4rem color-mix(in srgb,var(--a1) 25%,transparent)}

/* ---------- 2) burst — طاقة وألوان ---------- */
:is(#homepage,#pubView) .lp-burst .lp-mk{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--a2) 62%,transparent) 62% 92%,transparent 92%);padding-inline:.2rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}
:is(#homepage,#pubView) .lp-burst .lp-eyebrow{background:var(--a1);color:#fff;padding:.3rem .95rem;border-radius:99px;transform:rotate(-2deg);box-shadow:.22rem .22rem 0 var(--a2)}
:is(#homepage,#pubView) .lp-burst .lp-stk{display:flex;flex-wrap:wrap;gap:.8rem .7rem}
:is(#homepage,#pubView) .lp-burst .lp-stk li{--bc:var(--a1);--r:-1.4deg;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:1rem;font-weight:700;font-size:.9rem;background:var(--tint);border:2px solid var(--bc);transform:rotate(var(--r));box-shadow:.25rem .25rem 0 var(--bc);transition:transform .2s}
:is(#homepage,#pubView) .lp-burst .lp-stk li:nth-child(4n+2){--bc:var(--a2);--r:1.2deg}
:is(#homepage,#pubView) .lp-burst .lp-stk li:nth-child(4n+3){--r:.8deg}
:is(#homepage,#pubView) .lp-burst .lp-stk li:nth-child(4n){--bc:var(--a2);--r:-1deg}
:is(#homepage,#pubView) .lp-burst .lp-stk li:hover{transform:rotate(0) translateY(-.15rem)}
:is(#homepage,#pubView) .lp-burst .lp-pi{color:var(--bc);display:flex}
:is(#homepage,#pubView) .lp-burst .lp-art{position:relative;display:grid;place-items:center;padding:1.2rem}
:is(#homepage,#pubView) .lp-burst .lp-blob{aspect-ratio:1/1;max-width:25rem;border-radius:58% 42% 63% 37%/46% 54% 46% 54%;animation:lpMorph 12s ease-in-out infinite;box-shadow:0 2rem 4rem -1.5rem var(--a1),0 0 0 .5rem color-mix(in srgb,var(--a2) 35%,transparent)}
:is(#homepage,#pubView) .lp-burst .lp-sh{position:absolute;display:block;z-index:2;pointer-events:none}
:is(#homepage,#pubView) .lp-burst .s1{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--a2);top:2%;inset-inline-start:3%;animation:lpFloat 6s ease-in-out infinite}
:is(#homepage,#pubView) .lp-burst .s2{width:0;height:0;border-inline:1.4rem solid transparent;border-bottom:2.5rem solid var(--a1);bottom:8%;inset-inline-start:6%;animation:lpFloat 7s ease-in-out infinite reverse}
:is(#homepage,#pubView) .lp-burst .s3{width:4.2rem;height:4.2rem;border:.5rem solid var(--a1);border-radius:50%;top:8%;inset-inline-end:2%;animation:lpFloat 8s ease-in-out infinite}

/* ---------- 3) embrace — احتواء ودفء ---------- */
:is(#homepage,#pubView) .lp-embrace .lp-head{text-align:center;max-width:40rem;margin:0 auto 2.4rem}
:is(#homepage,#pubView) .lp-embrace .lp-sub{margin-inline:auto}
:is(#homepage,#pubView) .lp-embrace .lp-orb{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2rem;align-items:center}
:is(#homepage,#pubView) .lp-embrace .lp-circle{width:min(19rem,68vw);aspect-ratio:1/1;border-radius:50%;border:.45rem solid var(--bg);box-shadow:0 0 0 .8rem color-mix(in srgb,var(--a1) 20%,transparent),0 0 0 1.8rem color-mix(in srgb,var(--a1) 9%,transparent),0 2rem 4rem -1rem var(--a1);animation:lpHalo 5s ease-in-out infinite}
:is(#homepage,#pubView) .lp-embrace .lp-bub{display:flex;flex-direction:column;gap:.9rem}
:is(#homepage,#pubView) .lp-embrace .lp-bub li{display:flex;gap:.75rem;align-items:center;background:var(--tint);padding:.9rem 1.1rem;border-radius:1.4rem 1.4rem 1.4rem .3rem;font-size:.92rem;line-height:1.7;border:1px solid color-mix(in srgb,var(--a1) 28%,transparent)}
:is(#homepage,#pubView) .lp-embrace .lp-R li{border-radius:1.4rem 1.4rem .3rem 1.4rem}
:is(#homepage,#pubView) .lp-embrace .lp-pi{color:var(--a1);display:flex;flex:none}

/* ---------- 4) ascend — ارتقاء ونموّ ---------- */
:is(#homepage,#pubView) .lp-ascend .lp-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem;align-items:end}
:is(#homepage,#pubView) .lp-ascend .lp-arch{aspect-ratio:4/5;max-width:21rem;margin-inline:auto;border-radius:50% 50% 1.2rem 1.2rem/36% 36% 1.2rem 1.2rem;border:.4rem solid color-mix(in srgb,var(--a1) 35%,transparent);box-shadow:0 2rem 3.5rem -1.8rem var(--a1)}
:is(#homepage,#pubView) .lp-ascend .lp-stairs{list-style:none;margin:2.4rem 0 0;padding:0;display:flex;align-items:flex-end;gap:.6rem}
:is(#homepage,#pubView) .lp-ascend .lp-stairs li{flex:1;min-width:0;height:calc(5.4rem + var(--i)*1.9rem);background:linear-gradient(180deg,color-mix(in srgb,var(--a1) calc(14% + var(--i)*5%),transparent),var(--tint));border-top:.3rem solid var(--a1);border-radius:.8rem .8rem 0 0;padding:.8rem;display:flex;flex-direction:column;justify-content:space-between;gap:.4rem;font-weight:700;font-size:.85rem;line-height:1.6}
:is(#homepage,#pubView) .lp-ascend .lp-n{font-size:1.7rem;font-weight:900;color:var(--a2);line-height:1}

/* ---------- 5) spark — شرارة المبادرة ---------- */
:is(#homepage,#pubView) .lp-spark .lp-in{background:linear-gradient(125deg,var(--a1),color-mix(in srgb,var(--a2) 65%,var(--a1)));color:#fff;border-radius:1.75rem 1.75rem 1.75rem 6rem;padding:2.75rem 2.25rem 2.25rem;overflow:hidden;box-shadow:0 2rem 4rem -2rem var(--a1)}
:is(#homepage,#pubView) .lp-spark .lp-in::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 .7rem,transparent .7rem 1.4rem);pointer-events:none}
:is(#homepage,#pubView) .lp-spark .lp-in>*{position:relative}
:is(#homepage,#pubView) .lp-spark .lp-eyebrow{color:#fff;background:rgba(255,255,255,.2);padding:.25rem .9rem;border-radius:99px}
:is(#homepage,#pubView) .lp-spark .lp-sub{color:rgba(255,255,255,.92)}
:is(#homepage,#pubView) .lp-spark .lp-polas{position:relative;padding:1rem 1.2rem}
:is(#homepage,#pubView) .lp-spark .lp-polas::before{content:'';position:absolute;inset:.6rem 1.8rem;background:#fff;opacity:.35;border-radius:.4rem;transform:rotate(5deg)}
:is(#homepage,#pubView) .lp-spark .lp-pola{aspect-ratio:4/3;border:.7rem solid #fff;border-bottom-width:2.6rem;border-radius:.4rem;transform:rotate(-3deg);box-shadow:0 1.4rem 2.4rem -.8rem rgba(0,0,0,.55);background:linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,.1))}
:is(#homepage,#pubView) .lp-spark .lp-ph{color:rgba(255,255,255,.7)}
:is(#homepage,#pubView) .lp-spark .lp-cnt{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin-top:2rem}
:is(#homepage,#pubView) .lp-spark .lp-cnt li{display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:1rem;padding:.85rem 1rem;font-weight:700;font-size:.9rem;line-height:1.6}
:is(#homepage,#pubView) .lp-spark .lp-big{font-size:2rem;font-weight:900;line-height:1;color:#fff;opacity:.85;flex:none;min-width:2.6rem}

/* ---------- 6) compass — بوصلة التحسين ---------- */
:is(#homepage,#pubView) .lp-compass .lp-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
:is(#homepage,#pubView) .lp-compass .lp-ringwrap{position:relative;display:grid;place-items:center;padding:1.8rem}
:is(#homepage,#pubView) .lp-compass .lp-ringwrap::before{content:'';position:absolute;inset:0;margin:auto;width:100%;max-width:24rem;aspect-ratio:1/1;border:2px dashed var(--a1);border-radius:50%;animation:lpSpin 50s linear infinite;background:radial-gradient(circle .55rem at 50% 0,var(--a1) 97%,transparent) no-repeat,radial-gradient(circle .55rem at 100% 50%,var(--a2) 97%,transparent) no-repeat,radial-gradient(circle .55rem at 50% 100%,var(--a1) 97%,transparent) no-repeat,radial-gradient(circle .55rem at 0 50%,var(--a2) 97%,transparent) no-repeat}
:is(#homepage,#pubView) .lp-compass .lp-ring{width:min(19rem,100%);aspect-ratio:1/1;border-radius:50%;border:.45rem solid color-mix(in srgb,var(--a1) 40%,transparent);box-shadow:0 1.6rem 3rem -1.2rem var(--a1)}
:is(#homepage,#pubView) .lp-compass .lp-loop{display:flex;flex-direction:column;gap:.85rem;position:relative;padding-inline-start:3.1rem;margin-top:.4rem}
:is(#homepage,#pubView) .lp-compass .lp-loop::before{content:'';position:absolute;inset-block:1rem;inset-inline-start:1.05rem;border-inline-start:2px dashed var(--a1);opacity:.7}
:is(#homepage,#pubView) .lp-compass .lp-loop li{position:relative;font-weight:700;font-size:.92rem;line-height:1.7;background:var(--tint);border-radius:.9rem;padding:.7rem 1rem}
:is(#homepage,#pubView) .lp-compass .lp-pi{position:absolute;inset-inline-start:-3.1rem;top:50%;transform:translateY(-50%);width:2.1rem;height:2.1rem;border-radius:50%;background:var(--a1);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.85rem;box-shadow:0 0 0 .3rem color-mix(in srgb,var(--a1) 22%,transparent)}
:is(#homepage,#pubView) .lp-compass .lp-loopico{display:inline-flex;margin-top:.9rem;margin-inline-start:.45rem;color:var(--a1);animation:lpSpin 9s linear infinite}

/* ---------- 7) starry — نجوم الموهبة ---------- */
:is(#homepage,#pubView) .lp-starry .lp-in{border-radius:1.75rem;padding:2.75rem 2.25rem;background:radial-gradient(ellipse at 15% 0,color-mix(in srgb,var(--a1) 55%,#0b0a1f),transparent 70%),linear-gradient(160deg,#120d2e,color-mix(in srgb,var(--a1) 25%,#14103a) 60%,#0d0a24);color:#f5f1ff;overflow:hidden;box-shadow:0 2rem 4rem -2rem var(--a1)}
:is(#homepage,#pubView) .lp-starry .lp-stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(1.2px 1.2px at 8% 18%,#fff,transparent),radial-gradient(1.6px 1.6px at 22% 72%,#ffe9a8,transparent),radial-gradient(1px 1px at 37% 30%,#fff,transparent),radial-gradient(1.6px 1.6px at 51% 85%,#fff,transparent),radial-gradient(1.2px 1.2px at 64% 12%,#ffe9a8,transparent),radial-gradient(1px 1px at 78% 60%,#fff,transparent),radial-gradient(1.6px 1.6px at 90% 25%,#fff,transparent),radial-gradient(1.2px 1.2px at 95% 88%,#ffe9a8,transparent),radial-gradient(1px 1px at 45% 50%,#fff,transparent);animation:lpTwinkle 4s ease-in-out infinite}
:is(#homepage,#pubView) .lp-starry .lp-in>*{position:relative}
:is(#homepage,#pubView) .lp-starry .lp-in>.lp-stars{position:absolute}
:is(#homepage,#pubView) .lp-starry .lp-h{background:linear-gradient(90deg,#fff,var(--a2),#ffe9a8);-webkit-background-clip:text;background-clip:text;color:transparent}
:is(#homepage,#pubView) .lp-starry .lp-eyebrow{color:#ffe9a8}
:is(#homepage,#pubView) .lp-starry .lp-sub{color:rgba(245,241,255,.86)}
:is(#homepage,#pubView) .lp-starry .lp-hexwrap{filter:drop-shadow(0 0 1.3rem var(--a1));display:grid;place-items:center}
:is(#homepage,#pubView) .lp-starry .lp-hex{max-width:20rem;aspect-ratio:1/1.1547;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
:is(#homepage,#pubView) .lp-starry .lp-starp{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:.8rem;margin-top:2rem}
:is(#homepage,#pubView) .lp-starry .lp-starp li{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,233,168,.28);border-radius:1rem;padding:.8rem 1rem;font-size:.9rem;font-weight:700;line-height:1.6}
:is(#homepage,#pubView) .lp-starry .lp-pi{color:#ffd76a;display:flex;flex:none;filter:drop-shadow(0 0 .35rem rgba(255,215,106,.7))}

/* ---------- 8) hearts — عطاء وقلوب ---------- */
:is(#homepage,#pubView) .lp-hearts .lp-in{border-radius:2rem;padding:2.6rem 2.25rem;background:linear-gradient(135deg,var(--tint),transparent 72%);border:1px solid color-mix(in srgb,var(--a1) 26%,transparent)}
:is(#homepage,#pubView) .lp-hearts .lp-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
:is(#homepage,#pubView) .lp-hearts .lp-heartwrap{position:relative;display:grid;place-items:center;filter:drop-shadow(0 1.4rem 1.6rem color-mix(in srgb,var(--a1) 45%,transparent))}
:is(#homepage,#pubView) .lp-hearts .lp-heart{aspect-ratio:100/92;max-width:22rem;-webkit-mask:var(--heart) center/contain no-repeat;mask:var(--heart) center/contain no-repeat;--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 90C20 66 3 48 3 28 3 13 15 3 29 3c9 0 17 5 21 12C54 8 62 3 71 3c14 0 26 10 26 25 0 20-17 38-47 62z'/%3E%3C/svg%3E")}
:is(#homepage,#pubView) .lp-hearts .lp-hrt{position:absolute;width:1.6rem;height:1.5rem;background:var(--a1);-webkit-mask:var(--heart) center/contain no-repeat;mask:var(--heart) center/contain no-repeat;--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 92'%3E%3Cpath d='M50 90C20 66 3 48 3 28 3 13 15 3 29 3c9 0 17 5 21 12C54 8 62 3 71 3c14 0 26 10 26 25 0 20-17 38-47 62z'/%3E%3C/svg%3E");opacity:0;animation:lpRise 5s ease-in infinite;z-index:3}
:is(#homepage,#pubView) .lp-hearts .h1{bottom:12%;inset-inline-start:6%}
:is(#homepage,#pubView) .lp-hearts .h2{bottom:6%;inset-inline-end:10%;animation-delay:1.7s;width:1.2rem;height:1.1rem;background:var(--a2)}
:is(#homepage,#pubView) .lp-hearts .h3{bottom:22%;inset-inline-end:2%;animation-delay:3.2s}
:is(#homepage,#pubView) .lp-hearts .lp-hp{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:.9rem;margin-top:2rem}
:is(#homepage,#pubView) .lp-hearts .lp-hp li{display:flex;align-items:center;gap:.8rem;background:var(--surf);border:1px solid color-mix(in srgb,var(--a1) 30%,var(--line));border-radius:1.2rem;padding:.95rem 1rem;font-weight:700;font-size:.9rem;line-height:1.6}
:is(#homepage,#pubView) .lp-hearts .lp-pi{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;display:grid;place-items:center;flex:none}

/* ---------- 9) dial — مؤشر الأداء ---------- */
:is(#homepage,#pubView) .lp-dial .lp-in{border-radius:1.5rem;padding:2.5rem 2.25rem;background:linear-gradient(180deg,var(--tint),transparent);border:1px solid color-mix(in srgb,var(--a1) 32%,transparent);border-top:.35rem solid var(--a1)}
:is(#homepage,#pubView) .lp-dial .lp-bars{display:flex;flex-direction:column;gap:1rem;margin-top:.4rem}
:is(#homepage,#pubView) .lp-dial .lp-bar{display:flex;flex-direction:column;gap:.4rem;font-weight:700;font-size:.9rem}
:is(#homepage,#pubView) .lp-dial .lp-bar i{display:block;height:.7rem;border-radius:99px;background:color-mix(in srgb,var(--a1) 16%,transparent);overflow:hidden;position:relative}
:is(#homepage,#pubView) .lp-dial .lp-bar b{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--a1),var(--a2));transform-origin:right center;transition:transform 1.3s cubic-bezier(.2,.7,.2,1) calc(var(--i)*.14s)}
:is(#homepage,#pubView) .lp-dial:not(.in) .lp-bar b{transform:scaleX(0)}
:is(#homepage,#pubView) .lp-dial .lp-gwrap{position:relative;padding:0 0 1rem}
:is(#homepage,#pubView) .lp-dial .lp-gmedia{aspect-ratio:1/1;max-width:22rem;margin-inline:auto;border-radius:1.5rem;box-shadow:0 1.6rem 3rem -1.4rem var(--a1);border:.4rem solid color-mix(in srgb,var(--a1) 30%,transparent)}
:is(#homepage,#pubView) .lp-dial .lp-gauge{position:absolute;z-index:4;width:8.6rem;bottom:-.4rem;inset-inline-start:0;background:var(--bg);border:2px solid var(--a1);border-radius:1.2rem;padding:.7rem .8rem .5rem;box-shadow:0 .8rem 1.6rem -.6rem rgba(0,0,0,.45)}
:is(#homepage,#pubView) .lp-dial .lp-gauge path{fill:none;stroke-linecap:round;stroke-width:9}
:is(#homepage,#pubView) .lp-dial .lp-gauge .g0{stroke:color-mix(in srgb,var(--a1) 22%,transparent)}
:is(#homepage,#pubView) .lp-dial .lp-gauge .g1{stroke:var(--a1);stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1) .2s}
:is(#homepage,#pubView) .lp-dial.in .lp-gauge .g1{stroke-dashoffset:32}
:is(#homepage,#pubView) .lp-dial .lp-gauge .gn{transform-origin:60px 62px;transform:rotate(-80deg);transition:transform 1.8s cubic-bezier(.2,.7,.2,1) .2s}
:is(#homepage,#pubView) .lp-dial.in .lp-gauge .gn{transform:rotate(48deg)}
:is(#homepage,#pubView) .lp-dial .lp-gauge .gn path{stroke:var(--a2);stroke-width:4}
:is(#homepage,#pubView) .lp-dial .lp-gauge .gn circle{fill:var(--a2)}

/* ---------- 10) shield — درع الانضباط ---------- */
:is(#homepage,#pubView) .lp-shield .lp-in{background:linear-gradient(160deg,color-mix(in srgb,var(--a1) 22%,#06130d),color-mix(in srgb,var(--a1) 42%,#0a1a12));color:#effff6;border-radius:.7rem;padding:3rem 2.75rem;box-shadow:0 2rem 4rem -2rem var(--a1)}
:is(#homepage,#pubView) .lp-shield .lp-cn{position:absolute;width:1.9rem;height:1.9rem;border:3px solid var(--a2);pointer-events:none}
:is(#homepage,#pubView) .lp-shield .c1{top:.8rem;inset-inline-start:.8rem;border-inline-end:0;border-bottom:0}
:is(#homepage,#pubView) .lp-shield .c2{top:.8rem;inset-inline-end:.8rem;border-inline-start:0;border-bottom:0}
:is(#homepage,#pubView) .lp-shield .c3{bottom:.8rem;inset-inline-start:.8rem;border-inline-end:0;border-top:0}
:is(#homepage,#pubView) .lp-shield .c4{bottom:.8rem;inset-inline-end:.8rem;border-inline-start:0;border-top:0}
:is(#homepage,#pubView) .lp-shield .lp-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
:is(#homepage,#pubView) .lp-shield .lp-eyebrow{color:var(--a2);text-transform:none;letter-spacing:.4px}
:is(#homepage,#pubView) .lp-shield .lp-sub{color:rgba(239,255,246,.86)}
:is(#homepage,#pubView) .lp-shield .lp-shieldwrap{filter:drop-shadow(0 0 1.2rem color-mix(in srgb,var(--a2) 60%,transparent));display:grid;place-items:center}
:is(#homepage,#pubView) .lp-shield .lp-shieldm{aspect-ratio:100/105;max-width:19rem;-webkit-mask:var(--sh) center/contain no-repeat;mask:var(--sh) center/contain no-repeat;--sh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 105'%3E%3Cpath d='M50 2 93 17v34c0 27-18 43-43 52C25 94 7 78 7 51V17z'/%3E%3C/svg%3E")}
:is(#homepage,#pubView) .lp-shield .lp-chk{display:flex;flex-direction:column}
:is(#homepage,#pubView) .lp-shield .lp-chk li{display:flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px dashed rgba(255,255,255,.22);font-weight:700;font-size:.92rem;line-height:1.6}
:is(#homepage,#pubView) .lp-shield .lp-chk li:last-child{border-bottom:0}
:is(#homepage,#pubView) .lp-shield .lp-pi{color:var(--a2);display:flex;flex:none}

/* ---------- 11) clap — كاميرا وإعلام ---------- */
:is(#homepage,#pubView) .lp-clap .lp-in{background:#09090c;color:#f4f4f6;border-radius:1rem;overflow:hidden;padding-bottom:2.4rem;box-shadow:0 2rem 4rem -2rem rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.08)}
:is(#homepage,#pubView) .lp-clap .lp-cinema{position:relative;padding:1.5rem 0;background:#000}
:is(#homepage,#pubView) .lp-clap .lp-cinema::before,:is(#homepage,#pubView) .lp-clap .lp-cinema::after{content:'';position:absolute;inset-inline:0;height:.7rem;background:repeating-linear-gradient(90deg,transparent 0 .45rem,#1e1e24 .45rem 1.05rem,transparent 1.05rem 1.5rem);z-index:2}
:is(#homepage,#pubView) .lp-clap .lp-cinema::before{top:.4rem}:is(#homepage,#pubView) .lp-clap .lp-cinema::after{bottom:.4rem}
:is(#homepage,#pubView) .lp-clap .lp-wide{aspect-ratio:21/9}
:is(#homepage,#pubView) .lp-clap .lp-cgrid{padding:2.2rem 2.4rem 0;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
:is(#homepage,#pubView) .lp-clap.lp-nomedia .lp-cgrid{padding-top:2.4rem}
:is(#homepage,#pubView) .lp-clap .lp-eyebrow{color:#ff8a96}
:is(#homepage,#pubView) .lp-clap .lp-eyebrow::before{content:'';width:.7rem;height:.7rem;border-radius:50%;background:#ff3b4a;box-shadow:0 0 .6rem #ff3b4a;animation:lpBlink 1.2s steps(2) infinite}
:is(#homepage,#pubView) .lp-clap .lp-sub{color:rgba(244,244,246,.78)}
:is(#homepage,#pubView) .lp-clap .lp-cap{display:flex;flex-direction:column;gap:.7rem}
:is(#homepage,#pubView) .lp-clap .lp-cap li{display:flex;gap:.8rem;align-items:baseline;border-inline-start:3px solid var(--a1);padding:.45rem .9rem;background:rgba(255,255,255,.05);font-weight:700;font-size:.9rem;line-height:1.6}
:is(#homepage,#pubView) .lp-clap .lp-tc{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;color:var(--a2);flex:none;direction:ltr}

/* ---------- responsive ---------- */
@media (max-width:820px){
  :is(#homepage,#pubView) .lp{padding-block:3rem}
  :is(#homepage,#pubView) .lp-grid,:is(#homepage,#pubView) .lp-roadmap .lp-top,:is(#homepage,#pubView) .lp-ascend .lp-top,:is(#homepage,#pubView) .lp-compass .lp-grid,:is(#homepage,#pubView) .lp-hearts .lp-grid,:is(#homepage,#pubView) .lp-shield .lp-grid,:is(#homepage,#pubView) .lp-clap .lp-cgrid{grid-template-columns:minmax(0,1fr)}
  :is(#homepage,#pubView) .lp-roadmap .lp-in,:is(#homepage,#pubView) .lp-spark .lp-in,:is(#homepage,#pubView) .lp-starry .lp-in,:is(#homepage,#pubView) .lp-hearts .lp-in,:is(#homepage,#pubView) .lp-dial .lp-in{padding:1.75rem 1.25rem}
  :is(#homepage,#pubView) .lp-shield .lp-in{padding:2.25rem 1.5rem}
  :is(#homepage,#pubView) .lp-embrace .lp-orb{grid-template-columns:minmax(0,1fr)}
  :is(#homepage,#pubView) .lp-embrace .lp-circle{margin-inline:auto;order:-1}
  :is(#homepage,#pubView) .lp-ascend .lp-stairs{flex-direction:column;align-items:stretch}
  :is(#homepage,#pubView) .lp-ascend .lp-stairs li{height:auto;flex-direction:row;align-items:center;border-radius:.8rem;border-top-width:0;border-inline-start:.3rem solid var(--a1);margin-inline-start:calc(var(--i)*.8rem)}
  :is(#homepage,#pubView) .lp-compass .lp-ringwrap{max-width:20rem;margin-inline:auto;width:100%}
  :is(#homepage,#pubView) .lp-clap .lp-cgrid{padding:1.6rem 1.25rem 0}
  :is(#homepage,#pubView) .lp-dial .lp-gwrap{padding-bottom:2.2rem}
}
@media (prefers-reduced-motion:reduce){:is(#homepage,#pubView) .lp *,:is(#homepage,#pubView) .lp *::before,:is(#homepage,#pubView) .lp *::after{animation:none!important}}

/* ---------- creative connectors: landing → its reports ---------- */
:is(#homepage,#pubView) .lp-reports{position:relative;margin-top:3.4rem}
:is(#homepage,#pubView) .lp-rhead{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1rem}
:is(#homepage,#pubView) .lp-rhead h3{font-size:1.25rem;display:flex;align-items:center;gap:.625rem;margin:0}
:is(#homepage,#pubView) .lp-rhead h3::before{content:'';width:.3125rem;height:1.375rem;border-radius:99px;background:linear-gradient(180deg,var(--a1),var(--a2));flex:none}
:is(#homepage,#pubView) .lp-rhead span{font-size:.78rem;color:var(--soft)}
:is(#homepage,#pubView) .lp-rsep{max-width:65rem;margin:0 auto;padding:3.75rem 1.25rem}
:is(#homepage,#pubView) .lp-reports .fcard,:is(#homepage,#pubView) .lp-rsep .fcard{border-color:color-mix(in srgb,var(--a1) 35%,var(--line))}
:is(#homepage,#pubView) .hg-in + .hg-reports.lp-reports{margin-top:3.4rem;padding-top:0;border-top:0}
/* stem — ساق مضيئة */
:is(#homepage,#pubView) .lpc-stem{padding-top:1.4rem}
:is(#homepage,#pubView) .lpc-stem::before{content:'';position:absolute;top:-3.4rem;inset-inline:0;margin-inline:auto;width:3px;height:3.4rem;background:linear-gradient(180deg,transparent,var(--a1) 45%,var(--a2));box-shadow:0 0 1rem var(--a1)}
:is(#homepage,#pubView) .lpc-stem::after{content:'';position:absolute;top:-.6rem;inset-inline:0;margin-inline:auto;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--a1);box-shadow:0 0 0 .35rem color-mix(in srgb,var(--a1) 30%,transparent),0 0 1.4rem var(--a1);animation:lpPulse 2.4s ease-in-out infinite}
:is(#homepage,#pubView) .lpc-stem .lp-rhead{flex-direction:column;align-items:center;text-align:center;gap:.2rem;margin-bottom:1.3rem}
/* tab — لسان معلّق */
:is(#homepage,#pubView) .lpc-tab{margin-top:3.6rem;border-top:2px solid color-mix(in srgb,var(--a1) 55%,transparent);padding-top:2.4rem}
:is(#homepage,#pubView) .lpc-tab .lp-rhead{position:absolute;top:-1.15rem;inset-inline:0;margin:0 auto;width:max-content;max-width:92%;background:linear-gradient(90deg,var(--a1),var(--a2));color:#fff;padding:.5rem 1.5rem;border-radius:99px;box-shadow:0 .5rem 1.4rem -.5rem var(--a1);align-items:center;gap:1rem}
:is(#homepage,#pubView) .lpc-tab .lp-rhead h3{font-size:1rem}
:is(#homepage,#pubView) .lpc-tab .lp-rhead h3::before{display:none}
:is(#homepage,#pubView) .lpc-tab .lp-rhead span{color:rgba(255,255,255,.88)}
/* wave — موجة */
:is(#homepage,#pubView) .lpc-wave{margin-top:3.6rem;background:color-mix(in srgb,var(--a1) 11%,transparent);border-radius:0 0 1.75rem 1.75rem;padding:.6rem 1.5rem 1.75rem}
:is(#homepage,#pubView) .lpc-wave::before{content:'';position:absolute;inset-inline:0;top:-1.95rem;height:2rem;background:color-mix(in srgb,var(--a1) 11%,transparent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20V10C20 0 40 0 60 10s40 10 60 0V20z'/%3E%3C/svg%3E") bottom/6rem 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20' preserveAspectRatio='none'%3E%3Cpath d='M0 20V10C20 0 40 0 60 10s40 10 60 0V20z'/%3E%3C/svg%3E") bottom/6rem 100% repeat-x}
/* sheet — ورقة منزلقة */
:is(#homepage,#pubView) .lpc-sheet{margin-top:2.2rem;background:var(--surf);border:1px solid var(--line);border-top:.3rem solid var(--a1);border-radius:1.5rem 1.5rem 1.2rem 1.2rem;padding:1.6rem;box-shadow:0 -1rem 2.5rem -1.5rem var(--a1),0 1.6rem 3rem -2rem rgba(0,0,0,.5)}
:is(#homepage,#pubView) .lpc-sheet::before{content:'';position:absolute;top:-.95rem;inset-inline:1.3rem;height:.95rem;border-radius:1.2rem 1.2rem 0 0;background:color-mix(in srgb,var(--a1) 38%,var(--surf));opacity:.75;z-index:-1}
:is(#homepage,#pubView) .lpc-sheet .fcard{background:var(--surf2)}
/* dots — سكة منقّطة */
:is(#homepage,#pubView) .lpc-dots{margin-top:3.2rem;padding-inline-start:2.6rem;border-inline-start:3px dotted var(--a1)}
:is(#homepage,#pubView) .lpc-dots::before{content:'';position:absolute;top:-3.2rem;inset-inline-start:-3px;height:3.2rem;border-inline-start:3px dotted var(--a1)}
:is(#homepage,#pubView) .lpc-dots .lp-rhead h3::before{width:1.2rem;height:1.2rem;border-radius:50%;margin-inline-start:-3.85rem;background:var(--a1);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--a1) 25%,transparent)}
/* stairs — درج */
:is(#homepage,#pubView) .lpc-stairs{margin-top:2.6rem;padding:4.2rem 1.5rem 1.8rem;background:linear-gradient(180deg,color-mix(in srgb,var(--a1) 16%,transparent),color-mix(in srgb,var(--a1) 5%,transparent));clip-path:polygon(0 3.2rem,14% 3.2rem,14% 2.4rem,28% 2.4rem,28% 1.6rem,42% 1.6rem,42% .8rem,56% .8rem,56% 0,100% 0,100% 100%,0 100%)}
:is(#homepage,#pubView) .lpc-stairs .lp-rhead{position:relative}
/* zigzag — سنّ منشار */
:is(#homepage,#pubView) .lpc-zigzag{margin-top:2.9rem;background:color-mix(in srgb,var(--a1) 12%,transparent);padding:1.7rem 1.5rem 1.8rem;border-radius:0 0 1.5rem 1.5rem}
:is(#homepage,#pubView) .lpc-zigzag::before{content:'';position:absolute;inset-inline:0;top:-.95rem;height:.95rem;background:color-mix(in srgb,var(--a1) 12%,transparent);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/1.3rem 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/1.3rem 100%}
/* fold — تذكرة ممزّقة */
:is(#homepage,#pubView) .lpc-fold{margin-top:2.6rem;padding:3rem 1.5rem 1.6rem;background:var(--surf);border:1px solid color-mix(in srgb,var(--a1) 40%,var(--line));border-radius:1rem;-webkit-mask:radial-gradient(circle .9rem at 0 1.4rem,#0000 97%,#000),radial-gradient(circle .9rem at 100% 1.4rem,#0000 97%,#000);-webkit-mask-composite:source-in;mask:radial-gradient(circle .9rem at 0 1.4rem,#0000 97%,#000),radial-gradient(circle .9rem at 100% 1.4rem,#0000 97%,#000);mask-composite:intersect}
:is(#homepage,#pubView) .lpc-fold::before{content:'';position:absolute;top:1.4rem;inset-inline:1.3rem;border-top:2px dashed color-mix(in srgb,var(--a1) 70%,transparent)}
:is(#homepage,#pubView) .lpc-fold .lp-rhead{margin-top:-.9rem}
@media (max-width:640px){:is(#homepage,#pubView) .lpc-sheet,:is(#homepage,#pubView) .lpc-wave,:is(#homepage,#pubView) .lpc-zigzag{padding-inline:1rem}:is(#homepage,#pubView) .lpc-stairs{padding-inline:1rem}:is(#homepage,#pubView) .lpc-dots{padding-inline-start:1.8rem}:is(#homepage,#pubView) .lpc-dots .lp-rhead h3::before{margin-inline-start:-3.05rem}}

/* =====================================================================
   report-listing styles (15 new)
   ===================================================================== */
:is(#homepage,#pubView) .fv{display:grid;gap:.875rem}
/* مجلة بارزة */
:is(#homepage,#pubView) .fv-mag{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense}
:is(#homepage,#pubView) .fv-mag .fcard:first-child{grid-column:span 2;grid-row:span 2;padding:1.6rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:13rem;background:linear-gradient(150deg,color-mix(in srgb,var(--teal) 26%,var(--surf)),var(--surf));border-color:color-mix(in srgb,var(--teal) 45%,var(--line));position:relative}
:is(#homepage,#pubView) .fv-mag .fcard:first-child b{font-size:1.45rem;line-height:1.55}
:is(#homepage,#pubView) .fv-mag .fcard:first-child::after{content:'الأحدث';position:absolute;top:1rem;inset-inline-end:1rem;background:var(--teal);color:#fff;font-size:.68rem;font-weight:800;padding:.15rem .65rem;border-radius:99px}
@media (max-width:860px){:is(#homepage,#pubView) .fv-mag{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#homepage,#pubView) .fv-mag .fcard:first-child{grid-row:span 1;min-height:10rem}}
@media (max-width:480px){:is(#homepage,#pubView) .fv-mag{grid-template-columns:minmax(0,1fr)}:is(#homepage,#pubView) .fv-mag .fcard:first-child{grid-column:span 1}}
/* خط زمني */
:is(#homepage,#pubView) .fv-timeline{position:relative;gap:1.1rem;padding-inline-start:2.5rem}
:is(#homepage,#pubView) .fv-timeline::before{content:'';position:absolute;inset-block:.4rem;inset-inline-start:.75rem;width:3px;border-radius:9px;background:linear-gradient(180deg,var(--teal),var(--blue),var(--brass))}
:is(#homepage,#pubView) .fv-timeline .fcard{position:relative;--k:var(--teal);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.95rem 1.2rem}
:is(#homepage,#pubView) .fv-timeline .fcard b{margin:0;flex:1 1 14rem}
:is(#homepage,#pubView) .fv-timeline .fcard .fbar{flex:1 0 100%;margin:.2rem 0}
:is(#homepage,#pubView) .fv-timeline .fcard small{flex:none}
:is(#homepage,#pubView) .fv-timeline .fcard:nth-child(3n+2){--k:var(--blue)}:is(#homepage,#pubView) .fv-timeline .fcard:nth-child(3n){--k:var(--brass)}
:is(#homepage,#pubView) .fv-timeline .fcard::before{content:'';position:absolute;top:1.2rem;inset-inline-start:-2.4rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--bg);border:3px solid var(--k);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--k) 22%,transparent)}
:is(#homepage,#pubView) .fv-timeline .fcard::after{content:'';position:absolute;top:1.68rem;inset-inline-start:-1.3rem;width:1.3rem;height:2px;background:var(--k);opacity:.6}
/* بناء متدرّج */
:is(#homepage,#pubView) .fv-masonry{display:block;column-count:3;column-gap:.875rem}
:is(#homepage,#pubView) .fv-masonry .fcard{display:block;break-inside:avoid;margin-bottom:.875rem}
:is(#homepage,#pubView) .fv-masonry .fcard:nth-child(3n+1){padding-block:1.7rem 2rem}
:is(#homepage,#pubView) .fv-masonry .fcard:nth-child(3n+2){padding-block:.95rem}
:is(#homepage,#pubView) .fv-masonry .fcard:nth-child(5n+3){min-height:9.5rem}
:is(#homepage,#pubView) .fv-masonry .fcard:nth-child(4n){background:color-mix(in srgb,var(--teal) 9%,var(--surf))}
@media (max-width:820px){:is(#homepage,#pubView) .fv-masonry{column-count:2}}
@media (max-width:480px){:is(#homepage,#pubView) .fv-masonry{column-count:1}}
/* تذاكر */
:is(#homepage,#pubView) .fv-ticket{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}
:is(#homepage,#pubView) .fv-ticket .fcard{display:grid;grid-template-columns:minmax(0,1fr) 6.6rem;grid-template-rows:auto auto auto;align-items:center;column-gap:1rem;padding:1.05rem 0 1.05rem 0;border:1px dashed color-mix(in srgb,var(--teal) 50%,var(--line));-webkit-mask:radial-gradient(circle .6rem at 6.6rem 0,#0000 97%,#000),radial-gradient(circle .6rem at 6.6rem 100%,#0000 97%,#000);-webkit-mask-composite:source-in;mask:radial-gradient(circle .6rem at 6.6rem 0,#0000 97%,#000),radial-gradient(circle .6rem at 6.6rem 100%,#0000 97%,#000);mask-composite:intersect}
:is(#homepage,#pubView) .fv-ticket .fcard>*{grid-column:1;margin-inline:1.1rem 0}
:is(#homepage,#pubView) .fv-ticket .fcard .fcat{justify-self:start}
:is(#homepage,#pubView) .fv-ticket .fcard>small:last-of-type{grid-column:2;grid-row:1/span 3;align-self:stretch;display:flex;align-items:center;justify-content:center;text-align:center;border-inline-start:2px dashed color-mix(in srgb,var(--teal) 55%,var(--line));margin:0;padding:.4rem .5rem;font-weight:700;font-size:.72rem;line-height:1.7;color:var(--teal)}
/* قائمة مرقّمة */
:is(#homepage,#pubView) .fv-numbered{counter-reset:fvn;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(21rem,1fr))}
:is(#homepage,#pubView) .fv-numbered .fcard{counter-increment:fvn;display:grid;grid-template-columns:3.6rem minmax(0,1fr);align-items:center;padding-inline-start:.4rem}
:is(#homepage,#pubView) .fv-numbered .fcard::before{content:counter(fvn,arabic-indic);grid-row:1/span 5;font-size:2.5rem;font-weight:900;line-height:1;text-align:center;color:var(--teal);opacity:.9}
:is(#homepage,#pubView) .fv-numbered .fcard>*{grid-column:2}
:is(#homepage,#pubView) .fv-numbered .fcard .fcat{justify-self:start}
:is(#homepage,#pubView) .fv-numbered .fcard b{margin:.35rem 0 .2rem}
/* جدول منظّم */
:is(#homepage,#pubView) .fv-table{gap:0;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;background:var(--surf)}
:is(#homepage,#pubView) .fv-th{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 6.5rem 13rem;gap:.75rem;padding:.7rem 1rem;background:color-mix(in srgb,var(--teal) 16%,var(--surf2));font-size:.72rem;font-weight:800;color:var(--soft)}
:is(#homepage,#pubView) .fv-table .fcard{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 6.5rem 13rem;gap:.75rem;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.75rem 1rem;background:transparent}
:is(#homepage,#pubView) .fv-table .fcard:nth-of-type(even){background:color-mix(in srgb,var(--teal) 5%,transparent)}
:is(#homepage,#pubView) .fv-table .fcard:last-child{border-bottom:0}
:is(#homepage,#pubView) .fv-table .fcard:hover{transform:none;box-shadow:none;background:color-mix(in srgb,var(--teal) 10%,transparent)}
:is(#homepage,#pubView) .fv-table .fcard .fcat{justify-self:start;grid-column:1}
:is(#homepage,#pubView) .fv-table .fcard b{margin:0;grid-column:2}
:is(#homepage,#pubView) .fv-table .fcard .fbar{grid-column:3;margin:0}
:is(#homepage,#pubView) .fv-table .fcard>small:not(:last-of-type){display:none}
:is(#homepage,#pubView) .fv-table .fcard .schip{display:none}
:is(#homepage,#pubView) .fv-table .fcard>small:last-of-type{grid-column:4;font-size:.7rem}
@media (max-width:720px){:is(#homepage,#pubView) .fv-th{display:none}:is(#homepage,#pubView) .fv-table .fcard{grid-template-columns:minmax(0,1fr) auto;row-gap:.2rem}:is(#homepage,#pubView) .fv-table .fcard .fcat{grid-column:2;grid-row:1}:is(#homepage,#pubView) .fv-table .fcard b{grid-column:1;grid-row:1}:is(#homepage,#pubView) .fv-table .fcard .fbar{grid-column:1/span 2;grid-row:2}:is(#homepage,#pubView) .fv-table .fcard>small:last-of-type{grid-column:1/span 2}}
/* أوراق متراكبة */
:is(#homepage,#pubView) .fv-stack{grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:1.7rem 1rem;padding-bottom:.9rem}
:is(#homepage,#pubView) .fv-stack .fcard{box-shadow:0 .42rem 0 -.1rem var(--surf2),0 .42rem 0 0 color-mix(in srgb,var(--teal) 35%,var(--line)),0 .86rem 0 -.22rem var(--surf2),0 .86rem 0 -.12rem color-mix(in srgb,var(--teal) 25%,var(--line));transition:box-shadow .25s,transform .25s}
:is(#homepage,#pubView) .fv-stack .fcard:hover{transform:translateY(-.2rem);box-shadow:0 .55rem 0 -.08rem var(--surf2),0 .55rem 0 0 var(--teal),0 1.1rem 0 -.18rem var(--surf2),0 1.1rem 0 -.1rem var(--teal)}
/* بنتو */
:is(#homepage,#pubView) .fv-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(7rem,auto);grid-auto-flow:dense}
:is(#homepage,#pubView) .fv-bento .fcard{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
:is(#homepage,#pubView) .fv-bento .fcard:nth-child(6n+1){grid-column:span 2;grid-row:span 2;background:linear-gradient(150deg,color-mix(in srgb,var(--teal) 28%,var(--surf)),var(--surf))}
:is(#homepage,#pubView) .fv-bento .fcard:nth-child(6n+1) b{font-size:1.3rem}
:is(#homepage,#pubView) .fv-bento .fcard:nth-child(6n+2){grid-column:span 2}
:is(#homepage,#pubView) .fv-bento .fcard:nth-child(6n+4){grid-row:span 2;background:color-mix(in srgb,var(--blue) 14%,var(--surf))}
:is(#homepage,#pubView) .fv-bento .fcard:nth-child(6n+5){grid-column:span 2;background:color-mix(in srgb,var(--brass) 14%,var(--surf))}
@media (max-width:720px){:is(#homepage,#pubView) .fv-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* شارات مدمجة */
:is(#homepage,#pubView) .fv-chips{display:flex;flex-wrap:wrap;gap:.55rem}
:is(#homepage,#pubView) .fv-chips .fcard{width:auto;max-width:100%;display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border-radius:99px}
:is(#homepage,#pubView) .fv-chips .fcard b{margin:0;font-size:.85rem}
:is(#homepage,#pubView) .fv-chips .fcard .fcat{font-size:.6rem;padding:1px .55rem}
:is(#homepage,#pubView) .fv-chips .fcard :is(small,.fbar,.schip){display:none}
/* بطاقات مائلة */
:is(#homepage,#pubView) .fv-tilt{grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:1.4rem 1.1rem;padding-block:.6rem}
:is(#homepage,#pubView) .fv-tilt .fcard{transform:rotate(-1.6deg);position:relative;padding-top:1.5rem;box-shadow:0 .9rem 1.6rem -1rem rgba(0,0,0,.5)}
:is(#homepage,#pubView) .fv-tilt .fcard:nth-child(even){transform:rotate(1.4deg)}
:is(#homepage,#pubView) .fv-tilt .fcard:nth-child(3n){transform:rotate(-.6deg)}
:is(#homepage,#pubView) .fv-tilt .fcard::before{content:'';position:absolute;top:-.55rem;inset-inline:0;margin-inline:auto;width:4rem;height:1.1rem;background:color-mix(in srgb,var(--brass) 55%,transparent);transform:rotate(-2deg);border-radius:.15rem}
:is(#homepage,#pubView) .fv-tilt .fcard:hover{transform:rotate(0) translateY(-.25rem)}
/* بؤرة وتركيز */
:is(#homepage,#pubView) .fv-spotlight{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
:is(#homepage,#pubView) .fv-spotlight .fcard:first-child{grid-row:1/span 6;grid-column:1;min-height:17rem;padding:1.8rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(150deg,color-mix(in srgb,var(--teal) 34%,var(--surf)),color-mix(in srgb,var(--blue) 18%,var(--surf)));border-color:color-mix(in srgb,var(--teal) 50%,var(--line));align-self:stretch}
:is(#homepage,#pubView) .fv-spotlight .fcard:first-child b{font-size:1.6rem;line-height:1.5}
:is(#homepage,#pubView) .fv-spotlight .fcard:not(:first-child){grid-column:2;padding:.8rem 1rem}
:is(#homepage,#pubView) .fv-spotlight .fcard:not(:first-child) b{margin:.35rem 0 .1rem;font-size:.85rem}
@media (max-width:720px){:is(#homepage,#pubView) .fv-spotlight{grid-template-columns:minmax(0,1fr)}:is(#homepage,#pubView) .fv-spotlight .fcard:first-child{grid-row:auto;min-height:11rem}:is(#homepage,#pubView) .fv-spotlight .fcard:not(:first-child){grid-column:1}}
/* شرائط ملوّنة */
:is(#homepage,#pubView) .fv-ribbon{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
:is(#homepage,#pubView) .fv-ribbon .fcard{--k:var(--teal);position:relative;border-inline-start:.55rem solid var(--k);overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--k) 10%,transparent),transparent 55%),var(--surf)}
:is(#homepage,#pubView) .fv-ribbon .fcard:nth-child(4n+2){--k:var(--blue)}:is(#homepage,#pubView) .fv-ribbon .fcard:nth-child(4n+3){--k:var(--brass)}:is(#homepage,#pubView) .fv-ribbon .fcard:nth-child(4n){--k:var(--forest)}
:is(#homepage,#pubView) .fv-ribbon .fcard::after{content:'';position:absolute;top:0;inset-inline-end:0;border-style:solid;border-width:0 1.6rem 1.6rem 0;border-color:transparent var(--k) transparent transparent;opacity:.85}
/* زجاجي */
:is(#homepage,#pubView) .fv-glass{position:relative;isolation:isolate;padding:1.4rem;border-radius:1.6rem;overflow:clip;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr))}
:is(#homepage,#pubView) .fv-glass::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 10% 20%,var(--teal) 0,transparent 42%),radial-gradient(circle at 88% 28%,var(--blue) 0,transparent 44%),radial-gradient(circle at 50% 100%,var(--brass) 0,transparent 46%);opacity:.5;filter:blur(16px)}
:is(#homepage,#pubView) .fv-glass .fcard{background:color-mix(in srgb,var(--surf) 58%,transparent);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(255,255,255,.24);box-shadow:0 .8rem 2rem -1rem rgba(0,0,0,.45)}
/* مسار متعرّج */
:is(#homepage,#pubView) .fv-path{position:relative;counter-reset:fvp;grid-template-columns:minmax(0,1fr);row-gap:0;padding-block:.5rem}
:is(#homepage,#pubView) .fv-path::before{content:'';position:absolute;inset-block:0;inset-inline:0;margin-inline:auto;width:0;border-inline-start:3px dashed color-mix(in srgb,var(--teal) 65%,transparent)}
:is(#homepage,#pubView) .fv-path .fcard{counter-increment:fvp;position:relative;width:calc(50% - 2.3rem);justify-self:start;margin-bottom:1.1rem}
:is(#homepage,#pubView) .fv-path .fcard:nth-child(even){justify-self:end;margin-top:-2.4rem}
:is(#homepage,#pubView) .fv-path .fcard::before{content:counter(fvp,arabic-indic);position:absolute;top:1rem;inset-inline-end:-3.4rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.9rem;box-shadow:0 0 0 .3rem color-mix(in srgb,var(--teal) 24%,transparent)}
:is(#homepage,#pubView) .fv-path .fcard:nth-child(even)::before{inset-inline-end:auto;inset-inline-start:-3.4rem;background:var(--blue);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--blue) 24%,transparent)}
:is(#homepage,#pubView) .fv-path .fcard::after{content:'';position:absolute;top:2.05rem;inset-inline-end:-1.15rem;width:1.15rem;border-top:2px solid color-mix(in srgb,var(--teal) 65%,transparent)}
:is(#homepage,#pubView) .fv-path .fcard:nth-child(even)::after{inset-inline-end:auto;inset-inline-start:-1.15rem}
@media (max-width:640px){:is(#homepage,#pubView) .fv-path{padding-inline-start:3rem}:is(#homepage,#pubView) .fv-path::before{inset-inline:auto;inset-inline-start:.9rem;margin:0}:is(#homepage,#pubView) .fv-path .fcard,:is(#homepage,#pubView) .fv-path .fcard:nth-child(even){width:auto;justify-self:stretch;margin-top:0;margin-bottom:1rem}:is(#homepage,#pubView) .fv-path .fcard::before,:is(#homepage,#pubView) .fv-path .fcard:nth-child(even)::before{inset-inline-end:auto;inset-inline-start:-2.95rem;top:.9rem}:is(#homepage,#pubView) .fv-path .fcard::after,:is(#homepage,#pubView) .fv-path .fcard:nth-child(even)::after{inset-inline-end:auto;inset-inline-start:-.8rem;width:.8rem}}
/* ملصقات طويلة */
:is(#homepage,#pubView) .fv-poster{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr))}
:is(#homepage,#pubView) .fv-poster .fcard{--p1:var(--teal);--p2:var(--blue);aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;color:#fff;border:0;padding:1.1rem;background:radial-gradient(circle at 82% 14%,rgba(255,255,255,.28) 0 2.6rem,transparent 2.7rem),radial-gradient(circle at 12% 94%,rgba(0,0,0,.28) 0 4.5rem,transparent 4.6rem),linear-gradient(160deg,var(--p1),var(--p2))}
:is(#homepage,#pubView) .fv-poster .fcard:nth-child(3n+2){--p1:var(--forest);--p2:var(--teal)}:is(#homepage,#pubView) .fv-poster .fcard:nth-child(3n){--p1:var(--brass);--p2:var(--forest)}
:is(#homepage,#pubView) .fv-poster .fcard .fcat{position:absolute;top:1rem;inset-inline-start:1rem;background:rgba(255,255,255,.22)!important;color:#fff!important}
:is(#homepage,#pubView) .fv-poster .fcard b{color:#fff;font-size:1.1rem;line-height:1.55;margin:0 0 .5rem;text-shadow:0 .2rem .8rem rgba(0,0,0,.35)}
:is(#homepage,#pubView) .fv-poster .fcard small{color:rgba(255,255,255,.88)}
:is(#homepage,#pubView) .fv-poster .fcard .fbar{background:rgba(255,255,255,.25)}:is(#homepage,#pubView) .fv-poster .fcard .fbar i{background:#fff}

@media (max-width:480px){:is(#homepage,#pubView) .fv-poster{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}:is(#homepage,#pubView) .fv-poster .fcard{padding:.8rem}:is(#homepage,#pubView) .fv-poster .fcard b{font-size:.92rem}:is(#homepage,#pubView) .fv-poster .fcard .fcat{top:.7rem;inset-inline-start:.7rem}}

/* =================== layout builder additions (v11) =================== */
.hl-vp{margin-top:.5rem}.hl-vp summary{cursor:pointer;font-size:.75rem;color:var(--teal);font-weight:700}
.hl-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.5rem;margin-top:.6rem}
.hl-vt{border:1px solid var(--line);border-radius:.7rem;background:var(--bg);color:var(--soft);padding:.45rem .3rem .3rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;font:inherit;font-size:.66rem}
.hl-vt svg{width:100%;height:1.8rem;fill:currentColor}
.hl-vt:hover{border-color:var(--teal)}
.hl-vt.on{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb,var(--teal) 10%,var(--bg));font-weight:800}
.hl-lb{display:flex;flex-direction:column;gap:.2rem;font-size:.7rem;color:var(--soft);font-weight:700}
.hl-cap2{display:block;font-size:.7rem;font-weight:800;color:var(--soft);margin-bottom:.25rem}
.dtb-improve,.dtb-gifted,.dtb-ability,.dtb-disc,.dtb-vol,.dtb-media{height:.6875rem;background:repeating-linear-gradient(90deg,#3d7eb9aa 0 22%,transparent 22% 26%)!important}
/* ===== v14: شريط الأخبار بلا تكرار ===== */
.tk-once{display:flex;width:max-content;padding-inline-start:100%;animation:tkpass 30s linear infinite}
@keyframes tkpass{to{transform:translateX(100%)}}
.ticker-in:hover .tk-once{animation-play-state:paused}
.tk-static.tk-one{justify-content:center}
@media (prefers-reduced-motion:reduce){.tk-once{animation:none;padding-inline-start:0}}
/* ===== v14: تنبيه نسخ التقرير + رسالة التكرار ===== */
.dupnote{background:rgba(232,116,42,.14);border:1px solid rgba(232,116,42,.55);color:var(--ink);border-radius:0.75rem;padding:0.75rem 0.9rem;margin-bottom:0.9rem;font-size:0.8438rem;line-height:1.9}
.dupnote b{color:#e8742a}
.dup-err{background:rgba(214,42,126,.12);border:1px solid rgba(214,42,126,.55);color:var(--ink);border-radius:0.75rem;padding:0.7rem 0.9rem;margin-bottom:0.9rem;font-size:0.8438rem;line-height:1.9}
.field.fld-dup input{border-color:#d62a7e!important;box-shadow:0 0 0 3px rgba(214,42,126,.18)}
.dtb-team{height:0.9rem;background:repeating-linear-gradient(90deg,#a48bd6aa 0 14%,transparent 14% 20%)!important;border-radius:0.5rem}
/* ===== v17: ضوابط مقاس بلوك فريق العمل داخل «العنوان والخيارات» ===== */
.hl-tsz{display:flex;align-items:center;gap:0.7rem}
.hl-tsz input[type=range]{flex:1;accent-color:var(--teal,#0da9a6)}
.hl-tscv{min-width:3.2rem;text-align:center;color:var(--teal,#0da9a6);font-size:0.8125rem}
.hl-tpre{display:flex;flex-wrap:wrap;gap:0.4rem}
.hl-tpre .btn{font-size:0.72rem;padding:0.3rem 0.7rem}
textarea.hl-tsub{resize:vertical;font-family:inherit;line-height:1.7}

:is(#homepage,#pubView) .tmz{padding-top:0.5rem}
:is(#homepage,#pubView) .tm-head{text-align:center;max-width:40rem;margin:0 auto 1.8rem}
:is(#homepage,#pubView) .tm-eb{display:inline-block;font-size:0.72rem;font-weight:800;letter-spacing:.4px;color:var(--zc,#0da9a6);padding:0.2rem 0.9rem;border:1px solid color-mix(in srgb,var(--zc,#0da9a6) 55%,transparent);border-radius:6.19rem;background:color-mix(in srgb,var(--zc,#0da9a6) 10%,transparent)}
:is(#homepage,#pubView) .tm-head h2{font-size:clamp(1.5rem,4.2vw,2.15rem);font-weight:900;margin:0.7rem 0 0.4rem;line-height:1.45}
:is(#homepage,#pubView) .tm-head p{color:var(--soft);font-size:0.875rem;line-height:1.9;margin:0}

/* ===== v16: فريق العمل — مقاس موحّد صغير (بمقاس شركاء النجاح) + 4 مقاسات + 14 تصميماً ===== */
/* --k: معامل المقاس. الخلية بعرض/ارتفاع ثابتين، ومنطقة الاسم محدّدة، والصورة تملأ إطارها ولا تحدّد حجم الخلية */
:is(#homepage,#pubView) .tm{--tc1:var(--zc,#0da9a6);--tc2:var(--zc2,#5ad1cf);--k0:1;--k:var(--k0);--dl:1;--bhm:5.9;--tf:calc(0.78rem + (var(--k) - 1) * 0.2rem);--cw:calc(9.4rem * var(--k));--ph:calc(6.2rem * var(--k));--gp:calc(0.8rem * var(--k));display:flex;flex-direction:column;align-items:center;gap:calc(0.9rem * var(--k));width:100%}
:is(#homepage,#pubView) .tm-sz-xs{--k0:.8}
:is(#homepage,#pubView) .tm-sz-s{--k0:1}
:is(#homepage,#pubView) .tm-sz-m{--k0:1.3;--bhm:7.1;--dl:2}
:is(#homepage,#pubView) .tm-sz-l{--k0:1.65;--bhm:7.1;--dl:2}
:is(#homepage,#pubView) .tm-leadrow{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gp);width:100%}
/* v18: الشبكة مرنة تملأ عرض الصفحة؛ عدد الأعمدة تلقائي (أو محدّد بالخيار --cols) والصف الأخير يتوسّط */
:is(#homepage,#pubView) .tm-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--gp);width:100%;max-width:calc(var(--cols,99) * (var(--cwc,var(--cw)) + var(--gp)) - var(--gp));margin-inline:auto}
:is(#homepage,#pubView) .tm-grid .tm-c{flex:0 0 auto;width:var(--cw)}
:is(#homepage,#pubView) .tm-ribbon .tm-grid .tm-c{width:min(var(--cwr),100%)}
/* بطاقة موحّدة: ارتفاع = مساحة الصورة + منطقة الاسم الثابتة + الحشوات */
:is(#homepage,#pubView) .tm-c{--phh:var(--ph);--bh:calc(var(--tf) * var(--bhm));--pv:1.35rem;position:relative;min-width:0;width:100%;font-size:var(--tf);line-height:1.4;height:calc(var(--phh) + var(--bh) + var(--pv));display:grid;grid-template-rows:auto var(--bh);justify-items:center;align-content:center;gap:0.3rem}
:is(#homepage,#pubView) .tm-lead{--ph:calc(6.2rem * var(--k) * 1.22);--bh:calc(var(--tf) * (var(--bhm) + 1.7));width:min(calc(var(--cw) * 1.22),100%)}
:is(#homepage,#pubView) .tm-np{grid-template-rows:minmax(0,1fr);align-content:stretch}
:is(#homepage,#pubView) .tm-ph{--pd:0px;position:relative;overflow:hidden;padding:0;flex:none;width:var(--ph);height:var(--phh);max-width:100%;min-width:0;min-height:0}
:is(#homepage,#pubView) .tm-ph img{position:absolute;inset:var(--pd);width:calc(100% - 2 * var(--pd));height:calc(100% - 2 * var(--pd));object-fit:cover;object-position:center 20%;display:block;user-select:none;-webkit-user-drag:none}
:is(#homepage,#pubView) .tm-b{display:flex;flex-direction:column;align-items:center;gap:0.22em;text-align:center;min-width:0;width:100%;overflow:hidden;justify-content:center}
:is(#homepage,#pubView) .tm-c:not(.tm-np) .tm-b{height:var(--bh)}
:is(#homepage,#pubView) .tm-np .tm-b{height:100%}
:is(#homepage,#pubView) .tm-b>*{flex:none;max-width:100%}
:is(#homepage,#pubView) .tm-n{font-size:1.06em;font-weight:800;line-height:1.35;margin:0;overflow-wrap:anywhere;width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
:is(#homepage,#pubView) .tm-lead .tm-n{font-size:1.16em}
:is(#homepage,#pubView) .tm-s{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0.84em;font-weight:700;padding:0.1em 0.8em;border-radius:6.19rem;background:color-mix(in srgb,var(--tc1) 22%,transparent);color:var(--tc2);line-height:1.55}
:root[data-theme="light"] :is(#homepage,#pubView) .tm-s{color:var(--tc1);background:color-mix(in srgb,var(--tc1) 14%,transparent)}
:is(#homepage,#pubView) .tm-d{width:100%;font-size:0.84em;line-height:1.4;color:var(--soft)}
:is(#homepage,#pubView) .tm-d p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--dl);overflow:hidden}
:is(#homepage,#pubView) .tm-d small{display:inline;font-size:0.92em;font-weight:800;color:var(--tc2)}
:root[data-theme="light"] :is(#homepage,#pubView) .tm-d small{color:var(--tc1)}
:is(#homepage,#pubView) .tm-sz-xs .tm-d small,:is(#homepage,#pubView) .tm-sz-s .tm-d small{display:none}
:is(#homepage,#pubView) .tm-rk{display:inline-block;font-size:0.78em;font-weight:800;padding:0.1em 0.85em;border-radius:6.19rem;background:linear-gradient(90deg,var(--tc1),var(--tc2));color:#fff;line-height:1.55}
/* بدون صورة: بطاقة نصية أنيقة */
:is(#homepage,#pubView) .tm-np{justify-content:center}
:is(#homepage,#pubView) .tm-hex .tm-np,:is(#homepage,#pubView) .tm-rings .tm-np,:is(#homepage,#pubView) .tm-avatars .tm-np,:is(#homepage,#pubView) .tm-blobs .tm-np,:is(#homepage,#pubView) .tm-mixed .tm-np{background:var(--surf);border:1px solid var(--line);border-top:0.25rem solid var(--tc1);border-radius:0.9rem;padding:0.5rem 0.4rem}

/* 1) هرمي */
:is(#homepage,#pubView) .tm-tiers .tm-c{--pv:1.5rem;background:var(--surf);border:1px solid var(--line);border-radius:0.9rem;padding:0.5rem 0.4rem 0.4rem;box-shadow:0 0.8rem 1.4rem -1.2rem rgba(0,0,0,.55);transition:transform .25s,border-color .25s}
:is(#homepage,#pubView) .tm-tiers .tm-c::before{content:'';position:absolute;inset:0 0 auto 0;height:0.25rem;border-radius:0.9rem 0.9rem 0 0;background:linear-gradient(90deg,var(--tc1),var(--tc2))}
:is(#homepage,#pubView) .tm-tiers .tm-c:hover{transform:translateY(-0.2rem);border-color:var(--tc1)}
:is(#homepage,#pubView) .tm-tiers .tm-ph{--pd:0.2rem;border-radius:50%;background:conic-gradient(var(--tc1),var(--tc2),var(--tc1))}
:is(#homepage,#pubView) .tm-tiers .tm-ph img{border-radius:50%;border:0.15rem solid var(--surf)}

/* 2) هيكل تنظيمي */
:is(#homepage,#pubView) .tm-orgchart{--rg:1.3rem;gap:0}
:is(#homepage,#pubView) .tm-orgchart .tm-c{--pv:1.5rem;background:var(--surf);border:1px solid var(--line);border-radius:0.8rem;padding:0.5rem 0.4rem 0.4rem;box-shadow:0 0.7rem 1.2rem -1.1rem rgba(0,0,0,.5)}
:is(#homepage,#pubView) .tm-orgchart .tm-lead{border-color:var(--tc1);background:linear-gradient(180deg,color-mix(in srgb,var(--tc1) 10%,var(--surf)),var(--surf))}
:is(#homepage,#pubView) .tm-orgchart .tm-ph{border-radius:0.7rem;border:0.15rem solid var(--tc1)}
:is(#homepage,#pubView) .tm-bus{width:2px;height:var(--rg);background:var(--tc1)}
:is(#homepage,#pubView) .tm-orgchart .tm-grid{row-gap:var(--rg);position:relative}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c{z-index:1}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c::before{content:'';position:absolute;top:calc(var(--rg) / -2);inset-inline:calc(var(--gp) / -2);height:calc(var(--rg) / 2);border-top:2px solid var(--tc1)}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c.tm-rf::before{inset-inline-start:50%}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c.tm-rl::before{inset-inline-end:50%}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c.tm-r1::before{display:none}
:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c::after{content:'';position:absolute;top:calc(var(--rg) / -2);left:calc(50% - 1px);height:calc(var(--rg) / 2);border-inline-start:2px solid var(--tc1)}
:is(#homepage,#pubView) .tm-orgchart .tm-grid::before{content:'';position:absolute;top:calc(var(--rg) / -2);bottom:0;left:calc(50% - 1px);border-inline-start:2px solid var(--tc1);z-index:0}

/* 3) بولارويد */
:is(#homepage,#pubView) .tm-polaroid{width:100%;padding:1.1rem calc(0.9rem * var(--k));border-radius:1.4rem;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--tc1) 14%,transparent),transparent 55%),radial-gradient(circle at 85% 85%,color-mix(in srgb,var(--tc2) 14%,transparent),transparent 55%),var(--surf2)}
:is(#homepage,#pubView) .tm-polaroid .tm-c{--phh:calc(var(--ph) * 1.05);--pv:1.45rem;background:#fff;color:#1c2a30;padding:0.35rem 0.35rem 0.5rem;gap:0.4rem;border-radius:0.25rem;box-shadow:0 0.9rem 1.4rem -0.8rem rgba(0,0,0,.6);transform:rotate(var(--r,0deg));transition:transform .25s}
:is(#homepage,#pubView) .tm-polaroid .tm-ph{width:100%;background:#e8ecea}
:is(#homepage,#pubView) .tm-polaroid .tm-grid .tm-c:nth-child(3n+1){--r:-2deg}:is(#homepage,#pubView) .tm-polaroid .tm-grid .tm-c:nth-child(3n+2){--r:1.5deg;margin-top:0.6rem}:is(#homepage,#pubView) .tm-polaroid .tm-grid .tm-c:nth-child(3n){--r:-1deg}
:is(#homepage,#pubView) .tm-polaroid .tm-lead{--r:-1deg}
:is(#homepage,#pubView) .tm-polaroid .tm-c:hover{transform:rotate(0) scale(1.05);z-index:2}
:is(#homepage,#pubView) .tm-polaroid .tm-c::before{content:'';position:absolute;top:-0.55rem;left:calc(50% - 1.7rem);width:3.4rem;height:1rem;background:color-mix(in srgb,var(--tc2) 55%,rgba(255,255,255,.4));opacity:.85;transform:rotate(-3deg);border-radius:0.15rem}
:is(#homepage,#pubView) .tm-polaroid .tm-n{color:#14232a}:is(#homepage,#pubView) .tm-polaroid .tm-d{color:#55646b}
:is(#homepage,#pubView) .tm-polaroid .tm-s{background:color-mix(in srgb,var(--tc1) 14%,#fff);color:color-mix(in srgb,var(--tc1) 70%,#000)}
:is(#homepage,#pubView) .tm-polaroid .tm-d small{color:color-mix(in srgb,var(--tc1) 70%,#000)}
:is(#homepage,#pubView) .tm-polaroid .tm-np{justify-content:center}

/* 4) سداسيات */
:is(#homepage,#pubView) .tm-hex .tm-c{--pv:1rem;padding:0.25rem;gap:0.35rem;transition:transform .3s}
:is(#homepage,#pubView) .tm-hex .tm-ph{--pd:0.2rem;width:calc(var(--phh) * 0.9);background:linear-gradient(160deg,var(--tc1),var(--tc2));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:transform .3s}
:is(#homepage,#pubView) .tm-hex .tm-ph img{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
:is(#homepage,#pubView) .tm-hex .tm-c:hover .tm-ph{transform:scale(1.07) rotate(2deg)}
:is(#homepage,#pubView) .tm-hex .tm-grid .tm-c:nth-child(3n+2){margin-top:0.9rem}

/* 5) ملصقات */
:is(#homepage,#pubView) .tm-poster .tm-c{display:block;overflow:hidden;height:calc(var(--ph) * 1.55);border-radius:1rem;background:linear-gradient(150deg,var(--tc1),var(--tc2));color:#fff;box-shadow:0 1rem 1.6rem -1.1rem rgba(0,0,0,.65)}
:is(#homepage,#pubView) .tm-poster .tm-ph{position:absolute;inset:0;width:auto;height:auto;max-width:none}
:is(#homepage,#pubView) .tm-poster .tm-ph img{transition:transform .5s}
:is(#homepage,#pubView) .tm-poster .tm-c:hover .tm-ph img{transform:scale(1.06)}
:is(#homepage,#pubView) .tm-poster .tm-b,:is(#homepage,#pubView) .tm-poster .tm-c:not(.tm-np) .tm-b{position:absolute;inset:auto 0 0 0;height:auto;max-height:100%;padding:1.7rem 0.5rem 0.5rem;background:linear-gradient(0deg,rgba(3,12,16,.88),rgba(3,12,16,.55) 55%,transparent);gap:0.15em}
:is(#homepage,#pubView) .tm-poster .tm-n{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
:is(#homepage,#pubView) .tm-poster .tm-s{background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(4px)}
:is(#homepage,#pubView) .tm-poster .tm-d{color:rgba(255,255,255,.86)}:is(#homepage,#pubView) .tm-poster .tm-d small{color:#fff;opacity:.8}
:is(#homepage,#pubView) .tm-poster .tm-np .tm-b{inset:0;height:100%;justify-content:center;background:none;padding:0.6rem}

/* 6) شرائط */
:is(#homepage,#pubView) .tm-ribbon{--cwr:calc(var(--cw) * 1.5);--cwc:var(--cwr)}
:is(#homepage,#pubView) .tm-ribbon .tm-c{--phh:calc(var(--ph) * 0.82);height:calc(var(--phh) + 1.1rem);background:var(--surf);border:1px solid var(--line);border-inline-start:0.35rem solid var(--tc1);border-radius:0.8rem;padding:0.4rem 0.5rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0.55rem;align-items:center;justify-items:stretch;transition:transform .25s,box-shadow .25s}
:is(#homepage,#pubView) .tm-ribbon .tm-c:nth-child(even){border-inline-start-color:var(--tc2)}
:is(#homepage,#pubView) .tm-ribbon .tm-c:hover{transform:translateX(-0.2rem);box-shadow:0 0.8rem 1.4rem -1.1rem rgba(0,0,0,.6)}
:is(#homepage,#pubView) .tm-ribbon .tm-lead{width:min(calc(var(--cwr) * 1.2),100%)}
:is(#homepage,#pubView) .tm-ribbon .tm-ph{border-radius:0.7rem;width:var(--phh)}
:is(#homepage,#pubView) .tm-ribbon .tm-c:not(.tm-np) .tm-b{height:auto;max-height:100%;align-items:flex-start;text-align:start;gap:0.1em}
:is(#homepage,#pubView) .tm-ribbon .tm-d small{display:none}
:is(#homepage,#pubView) .tm-ribbon .tm-d p{-webkit-line-clamp:1}
:is(#homepage,#pubView) .tm-ribbon .tm-np{grid-template-columns:minmax(0,1fr)}

/* 7) دوائر */
:is(#homepage,#pubView) .tm-rings .tm-c{--phh:calc(var(--ph) * 0.9);--pv:1.9rem;padding:0.7rem 0.3rem 0.3rem;gap:0.7rem}
:is(#homepage,#pubView) .tm-rings .tm-ph{width:var(--phh);border-radius:50%;overflow:visible;box-shadow:0 0 0 0.16rem var(--bg),0 0 0 0.3rem var(--tc1),0 0 0 0.52rem color-mix(in srgb,var(--tc1) 28%,transparent);transition:transform .3s,box-shadow .3s}
:is(#homepage,#pubView) .tm-rings .tm-ph img{border-radius:50%}
:is(#homepage,#pubView) .tm-rings .tm-grid .tm-c:nth-child(3n+2) .tm-ph{box-shadow:0 0 0 0.16rem var(--bg),0 0 0 0.3rem var(--tc2),0 0 0 0.52rem color-mix(in srgb,var(--tc2) 28%,transparent)}
:is(#homepage,#pubView) .tm-rings .tm-c:hover .tm-ph{transform:scale(1.07)}
:is(#homepage,#pubView) .tm-rings .tm-np{overflow:hidden}

/* 8) زجاجي */
:is(#homepage,#pubView) .tm-glass{width:100%;position:relative;padding:1.2rem calc(0.9rem * var(--k));border-radius:1.5rem;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#08262c,#0b1b2a)}
:is(#homepage,#pubView) .tm-glass::before,:is(#homepage,#pubView) .tm-glass::after{content:'';position:absolute;width:16rem;height:16rem;border-radius:50%;filter:blur(2.2rem);opacity:.55;z-index:-1}
:is(#homepage,#pubView) .tm-glass::before{background:var(--tc1);top:-7rem;inset-inline-start:-5rem}
:is(#homepage,#pubView) .tm-glass::after{background:var(--tc2);bottom:-8rem;inset-inline-end:-5rem}
:is(#homepage,#pubView) .tm-glass .tm-c{--phh:calc(var(--ph) * 0.95);--pv:1.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:1rem;padding:0.4rem 0.4rem 0.5rem;color:#fff;gap:0.4rem;box-shadow:0 0.8rem 1.4rem -1rem rgba(0,0,0,.6);transition:transform .25s}
:is(#homepage,#pubView) .tm-glass .tm-c:hover{transform:translateY(-0.2rem)}
:is(#homepage,#pubView) .tm-glass .tm-ph{width:100%;border-radius:0.75rem}
:is(#homepage,#pubView) .tm-glass .tm-n{color:#fff}:is(#homepage,#pubView) .tm-glass .tm-d{color:rgba(255,255,255,.82)}:is(#homepage,#pubView) .tm-glass .tm-d small{color:#fff;opacity:.75}
:is(#homepage,#pubView) .tm-glass .tm-s{background:rgba(255,255,255,.18);color:#fff}
:is(#homepage,#pubView) .tm-glass .tm-np{overflow:hidden}

/* 9) صور دائرية بسيطة (بلا بطاقات) */
:is(#homepage,#pubView) .tm-avatars .tm-c{--phh:calc(var(--ph) * 0.95);--pv:1rem;gap:0.35rem;padding:0.15rem}
:is(#homepage,#pubView) .tm-avatars .tm-ph{width:var(--phh);border-radius:50%;box-shadow:0 0 0 0.16rem var(--bg),0 0 0 0.3rem color-mix(in srgb,var(--tc1) 60%,transparent),0 0.7rem 1.2rem -0.5rem rgba(0,0,0,.6);transition:transform .3s}
:is(#homepage,#pubView) .tm-avatars .tm-c:hover .tm-ph{transform:scale(1.06)}

/* 10) أقواس (محاريب) بقاعدة ملوّنة */
:is(#homepage,#pubView) .tm-arch .tm-c{--phh:calc(var(--ph) * 1.12);--pv:1.5rem;background:linear-gradient(180deg,color-mix(in srgb,var(--tc1) 24%,var(--surf)),var(--surf) 70%);border:1px solid var(--line);border-radius:0.9rem 0.9rem 0.7rem 0.7rem;padding:0.5rem 0.4rem 0.4rem;box-shadow:0 0.8rem 1.4rem -1.1rem rgba(0,0,0,.55);transition:transform .25s}
:is(#homepage,#pubView) .tm-arch .tm-c:hover{transform:translateY(-0.2rem)}
:is(#homepage,#pubView) .tm-arch .tm-ph{width:calc(var(--ph) * 0.92);border-radius:999px 999px 0.5rem 0.5rem;border:0.15rem solid var(--tc1);outline:0.12rem solid color-mix(in srgb,var(--tc2) 45%,transparent);outline-offset:0.18rem}

/* 11) بطاقات هوية مهنية */
:is(#homepage,#pubView) .tm-idcard .tm-c{--phh:calc(var(--ph) * 0.98);--pv:2.5rem;background:var(--surf);border:1px solid var(--line);border-radius:0.7rem;padding:1.2rem 0.4rem 0.75rem;gap:0.35rem;box-shadow:inset 0 -0.3rem 0 var(--tc2),0 0.8rem 1.4rem -1.1rem rgba(0,0,0,.55);transition:transform .25s}
:is(#homepage,#pubView) .tm-idcard .tm-c::before{content:'';position:absolute;inset:0 0 auto 0;height:0.95rem;border-radius:0.7rem 0.7rem 0 0;background:linear-gradient(90deg,var(--tc1),var(--tc2))}
:is(#homepage,#pubView) .tm-idcard .tm-c::after{content:'';position:absolute;top:0.3rem;left:calc(50% - 0.9rem);width:1.8rem;height:0.34rem;border-radius:1rem;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
:is(#homepage,#pubView) .tm-idcard .tm-c:hover{transform:translateY(-0.2rem)}
:is(#homepage,#pubView) .tm-idcard .tm-ph{width:calc(var(--ph) * 0.98);border-radius:0.45rem;border:0.14rem solid var(--tc1)}

/* 12) أشكال عضوية متحرّكة */
:is(#homepage,#pubView) .tm-blobs .tm-c{--phh:calc(var(--ph) * 0.94);--pv:1rem;gap:0.35rem;padding:0.15rem}
:is(#homepage,#pubView) .tm-blobs .tm-ph{--b1:58% 42% 63% 37% / 46% 54% 46% 54%;--b2:40% 60% 38% 62% / 58% 42% 58% 42%;width:var(--ph);background:linear-gradient(150deg,var(--tc1),var(--tc2));border-radius:var(--b1);animation:blobmorph 8s ease-in-out infinite alternate;box-shadow:0 0.8rem 1.3rem -0.8rem rgba(0,0,0,.6)}
:is(#homepage,#pubView) .tm-blobs .tm-c:nth-child(5n+2) .tm-ph{--b1:40% 60% 38% 62% / 58% 42% 58% 42%;--b2:64% 36% 52% 48% / 38% 62% 38% 62%}
:is(#homepage,#pubView) .tm-blobs .tm-c:nth-child(5n+3) .tm-ph{--b1:64% 36% 52% 48% / 38% 62% 38% 62%;--b2:46% 54% 40% 60% / 62% 38% 54% 46%}
:is(#homepage,#pubView) .tm-blobs .tm-c:nth-child(5n+4) .tm-ph{--b1:46% 54% 40% 60% / 62% 38% 54% 46%;--b2:54% 46% 60% 40% / 40% 60% 46% 54%}
:is(#homepage,#pubView) .tm-blobs .tm-c:nth-child(5n) .tm-ph{--b1:54% 46% 60% 40% / 40% 60% 46% 54%;--b2:58% 42% 63% 37% / 46% 54% 46% 54%}
@media (prefers-reduced-motion:reduce){:is(#homepage,#pubView) .tm-blobs .tm-ph{animation:none}}

/* 13) مزيج أشكال (دائرة، مقوّس، عضوي، مضلّع) */
:is(#homepage,#pubView) .tm-mixed .tm-c{--phh:calc(var(--ph) * 0.95);--pv:1rem;gap:0.35rem;padding:0.15rem}
:is(#homepage,#pubView) .tm-mixed .tm-ph{width:var(--phh);background:color-mix(in srgb,var(--tc1) 20%,var(--surf));border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
:is(#homepage,#pubView) .tm-mixed .tm-c:nth-child(4n+1) .tm-ph{border-radius:50%}
:is(#homepage,#pubView) .tm-mixed .tm-c:nth-child(4n+2) .tm-ph{border-radius:0.9rem}
:is(#homepage,#pubView) .tm-mixed .tm-c:nth-child(4n+3) .tm-ph{border-radius:58% 42% 63% 37% / 46% 54% 46% 54%}
:is(#homepage,#pubView) .tm-mixed .tm-c:nth-child(4n) .tm-ph{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);border:0}
:is(#homepage,#pubView) .tm-mixed .tm-leadrow .tm-c .tm-ph{border-radius:50%;clip-path:none}
:is(#homepage,#pubView) .tm-mixed .tm-c:hover .tm-ph{transform:scale(1.08);box-shadow:0 1rem 1.6rem -0.9rem rgba(0,0,0,.7)}

/* 14) بطاقات تكشف التفاصيل عند اللمس */
:is(#homepage,#pubView) .tm-reveal .tm-c{display:block;overflow:hidden;height:calc(var(--ph) * 1.5);border-radius:1rem;background:linear-gradient(150deg,var(--tc1),var(--tc2));color:#fff;cursor:pointer;box-shadow:0 1rem 1.6rem -1.1rem rgba(0,0,0,.65)}
:is(#homepage,#pubView) .tm-reveal .tm-ph{position:absolute;inset:0;width:auto;height:auto;max-width:none}
:is(#homepage,#pubView) .tm-reveal .tm-ph img{transition:transform .5s}
:is(#homepage,#pubView) .tm-reveal .tm-c:hover .tm-ph img,:is(#homepage,#pubView) .tm-reveal .tm-c.tm-open .tm-ph img{transform:scale(1.08)}
:is(#homepage,#pubView) .tm-reveal .tm-b,:is(#homepage,#pubView) .tm-reveal .tm-c:not(.tm-np) .tm-b{position:absolute;inset:0;height:auto;width:auto;padding:0.6rem 0.5rem;justify-content:flex-end;background:linear-gradient(0deg,rgba(3,12,16,.82),transparent 52%);transition:background .3s}
:is(#homepage,#pubView) .tm-reveal .tm-n{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6)}
:is(#homepage,#pubView) .tm-reveal .tm-c:not(.tm-np) .tm-s,:is(#homepage,#pubView) .tm-reveal .tm-c:not(.tm-np) .tm-d,:is(#homepage,#pubView) .tm-reveal .tm-c:not(.tm-np) .tm-rk{display:none}
:is(#homepage,#pubView) .tm-reveal .tm-s{background:rgba(255,255,255,.22);color:#fff}
:is(#homepage,#pubView) .tm-reveal .tm-d{color:rgba(255,255,255,.9)}:is(#homepage,#pubView) .tm-reveal .tm-d small{color:#fff;opacity:.8;display:inline}
:is(#homepage,#pubView) .tm-reveal .tm-c.tm-open .tm-b{justify-content:center;background:rgba(4,14,20,.86)}
:is(#homepage,#pubView) .tm-reveal .tm-c.tm-open:not(.tm-np) .tm-s,:is(#homepage,#pubView) .tm-reveal .tm-c.tm-open:not(.tm-np) .tm-rk{display:inline-block}
:is(#homepage,#pubView) .tm-reveal .tm-c.tm-open:not(.tm-np) .tm-d{display:block}
@media (hover:hover){
  :is(#homepage,#pubView) .tm-reveal .tm-c:hover .tm-b{justify-content:center;background:rgba(4,14,20,.86)}
  :is(#homepage,#pubView) .tm-reveal .tm-c:hover:not(.tm-np) .tm-s,:is(#homepage,#pubView) .tm-reveal .tm-c:hover:not(.tm-np) .tm-rk{display:inline-block}
  :is(#homepage,#pubView) .tm-reveal .tm-c:hover:not(.tm-np) .tm-d{display:block}
}
:is(#homepage,#pubView) .tm-reveal .tm-np .tm-b{background:none;justify-content:center}

/* جوال وشاشات متوسطة */
@media (max-width:700px){
  :is(#homepage,#pubView) .tm-grid .tm-c{width:min(var(--cw),calc((100% - var(--gp)) / 2))}
  :is(#homepage,#pubView) .tm-ribbon .tm-grid .tm-c{width:min(var(--cwr),100%)}
}
@media (max-width:520px){
  :is(#homepage,#pubView) .tm{--k:min(var(--k0),1.12)}
  :is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c::before,:is(#homepage,#pubView) .tm-orgchart .tm-grid .tm-c::after,:is(#homepage,#pubView) .tm-orgchart .tm-grid::before{display:none}
  :is(#homepage,#pubView) .tm-orgchart .tm-grid{row-gap:var(--gp)}
  :is(#homepage,#pubView) .tm-hex .tm-grid .tm-c:nth-child(3n+2),:is(#homepage,#pubView) .tm-polaroid .tm-grid .tm-c:nth-child(3n+2){margin-top:0}
  :is(#homepage,#pubView) .tm-hex .tm-grid .tm-c:nth-child(2n){margin-top:0.9rem}:is(#homepage,#pubView) .tm-polaroid .tm-grid .tm-c:nth-child(2n){margin-top:0.6rem}
}
/* ===== v18: شركاء النجاح — أشكال جديدة ===== */
.pn-arch{width:6.4rem;height:7.4rem;border-radius:999px 999px 1rem 1rem;border:1px solid var(--line)}
.pn-squircle{width:6.75rem;height:6.75rem;border-radius:32%;border:1px solid var(--line)}
.pn-pill{width:10.5rem;height:5rem;border-radius:999px;border:1px solid var(--line)}
.pn-shield{width:6.75rem;height:7.6rem;clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%)}
.pn-seal{width:7.4rem;height:7.4rem}
.pn-leaf{width:7rem;height:7rem;border-radius:0 78% 0 78%;border:1px solid var(--line)}
.pn-ticket{width:9.6rem;height:6rem;border-radius:0.7rem;-webkit-mask:radial-gradient(circle 0.55rem at 0 50%,transparent 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 0.55rem at 100% 50%,transparent 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 0.55rem at 0 50%,transparent 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 0.55rem at 100% 50%,transparent 97%,#000) right/51% 100% no-repeat}
.pn-polaroid{box-sizing:border-box;width:7.4rem;height:8.4rem;background:#fff;padding:0.4rem 0.4rem 1.5rem;border-radius:0.2rem;transform:rotate(var(--r,0deg));box-shadow:0 0.7rem 1.2rem -0.7rem rgba(0,0,0,.6)}
.pn-polaroid img{border-radius:0.1rem}
.pn-ring{width:6.75rem;height:6.75rem;border-radius:50%;box-shadow:0 0 0 0.22rem var(--bg),0 0 0 0.38rem #0da9a6}
.pn-wrap{perspective:60rem}
/* ===== حركات جديدة ===== */
.pn-m-pulse .pn{animation:pnpulse 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.35s)}
@keyframes pnpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.pn-m-sway .pn{transform-origin:50% -0.4rem;animation:pnsway 3.4s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.45s)}
@keyframes pnsway{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.pn-m-flip .pn-shape{animation:pnflip 6.5s ease-in-out infinite;animation-delay:calc(var(--i) * -.8s)}
@keyframes pnflip{0%,62%{transform:rotateY(0)}82%,100%{transform:rotateY(360deg)}}
.pn-m-bounce .pn{animation:pnbounce 1.9s cubic-bezier(.3,.7,.4,1) infinite;animation-delay:calc(var(--i) * .13s)}
@keyframes pnbounce{0%,100%{transform:translateY(0)}18%{transform:translateY(-1.4rem)}36%{transform:translateY(0)}48%{transform:translateY(-0.5rem)}60%{transform:translateY(0)}}
.pn-m-glow .pn{animation:pnglow 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.45s)}
@keyframes pnglow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 0.9rem rgba(13,169,166,.85))}}
.pn-m-drift .pn{animation:pndrift calc(6s + var(--i) * .9s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -1.1s)}
@keyframes pndrift{from{transform:translate(0,0) rotate(0)}50%{transform:translate(var(--dx),var(--dy)) rotate(var(--rt))}to{transform:translate(calc(var(--dx) * -.8),calc(var(--dy) * -1.1)) rotate(calc(var(--rt) * -1))}}
.pn-m-pulse .pn:hover,.pn-m-sway .pn:hover,.pn-m-bounce .pn:hover,.pn-m-glow .pn:hover,.pn-m-drift .pn:hover,.pn-m-flip .pn:hover .pn-shape{animation-play-state:paused}
.pn-m-pulse,.pn-m-sway,.pn-m-bounce,.pn-m-drift{padding:1.6rem 0}
.pn-marq2{display:flex;flex-direction:column;gap:0.4rem}
.pn-marq2 .pn-marq{padding:0.9rem 0}
.tk-rev{animation-direction:reverse}
@media (prefers-reduced-motion:reduce){.pn-m-pulse .pn,.pn-m-sway .pn,.pn-m-bounce .pn,.pn-m-glow .pn,.pn-m-drift .pn,.pn-m-flip .pn-shape{animation:none!important}}
/* ===== المدار الدائري حسب التمييز ===== */
.orbit{--ps:clamp(2.3rem,min(15cqw,calc((36cqw - 1rem) / var(--m,1))),6rem);--rin:calc(14cqw + var(--ps) * .5 + 0.45rem);--rout:calc(50cqw - var(--ps) * .5 - 0.45rem)}
.orbit-ring,.orbit-track{--R:calc(var(--rin) + (var(--rout) - var(--rin)) * var(--f,1))}
.orbit-ring{animation-delay:var(--dl,0s)}
.pn-cc{animation-delay:var(--dl,0s)}
.orbit-track{position:absolute;left:50%;top:50%;width:calc(var(--R) * 2);height:calc(var(--R) * 2);margin:calc(var(--R) * -1) 0 0 calc(var(--R) * -1);border-radius:50%;border:1px dashed color-mix(in srgb,var(--rc,#0da9a6) 38%,transparent);pointer-events:none}
.orbit .pn-shape,.orbit-ring.inner .pn-shape{width:var(--ps)!important;height:var(--ps)!important}
.orbit .pn-polaroid{padding:0.25rem 0.25rem 0.6rem}
.orbit .pn-t1{filter:drop-shadow(0 0 0.3rem var(--rc)) drop-shadow(0 0 0.1rem var(--rc))}
.orbit .pn-t2{filter:drop-shadow(0 0 0.5rem var(--rc)) drop-shadow(0 0 0.12rem var(--rc))}
.orbit .pn-t3{filter:drop-shadow(0 0 0.8rem var(--rc)) drop-shadow(0 0 0.15rem var(--rc))}
.orbit-leg{display:flex;flex-wrap:wrap;gap:0.4rem 1rem;justify-content:center;align-items:center;margin-top:0.2rem;font-size:0.75rem;color:var(--soft)}
.orbit-leg span{display:inline-flex;align-items:center;gap:0.35rem;font-weight:700}
.orbit-leg i{width:0.7rem;height:0.7rem;border-radius:50%;background:var(--rc);box-shadow:0 0 0.5rem var(--rc)}
.orbit-leg small{font-size:0.7rem;opacity:.8}
.hl-og{display:flex;flex-wrap:wrap;gap:0.6rem}.hl-og label{display:flex;flex-direction:column;gap:0.25rem;font-size:0.72rem;color:var(--soft);font-weight:700;flex:1 1 9rem}
.orbit{width:min(42rem,100%)}
/* ===== v18: العرض السينمائي (صفحة الهبوط الأولى) ===== */
.fm{position:relative;width:100%;height:var(--fh,82vh);min-height:20rem;max-height:62rem;overflow:hidden;background:#04080b;isolation:isolate;color:#fff;--bar:6.5%}
.fm-sm{--fh:46vh}.fm-md{--fh:66vh}.fm-lg{--fh:82vh}.fm-full{--fh:100svh;max-height:none}
.fm-stage{position:absolute;inset:0}
.fm-slide{position:absolute;inset:0;overflow:hidden;opacity:0;z-index:0;transition:opacity 1.9s ease,transform 1.9s ease,clip-path 1.9s ease}
.fm-slide.on{opacity:1;z-index:2}
.fm-slide.out{opacity:1;z-index:1}
.fm-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform-origin:var(--ox,50%) var(--oy,50%);animation:fmkb var(--kd,16s) ease-in-out infinite alternate;user-select:none;-webkit-user-drag:none}
.fm-slide:not(.on):not(.out) img{animation-play-state:paused}
@keyframes fmkb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.17) translate(var(--tx,-1.5%),var(--ty,-1%))}}
/* الانتقالات */
.fm[data-trn="overlap"] .fm-slide.out{opacity:0}
.fm[data-trn="wipe"] .fm-slide{opacity:1;clip-path:inset(0 0 0 100%);transition:clip-path 1.5s cubic-bezier(.7,0,.2,1),transform 1.5s cubic-bezier(.7,0,.2,1)}
.fm[data-trn="wipe"] .fm-slide.on{clip-path:inset(0)}
.fm[data-trn="wipe"] .fm-slide.out{clip-path:inset(0);transform:translateX(-14%)}
.fm[data-trn="zoom"] .fm-slide{transform:scale(1.35)}
.fm[data-trn="zoom"] .fm-slide.on{opacity:1;transform:scale(1)}
.fm[data-trn="zoom"] .fm-slide.out{opacity:0;transform:scale(.88)}
.fm[data-trn="fadeblack"] .fm-slide.on{transition:opacity 1.1s ease .9s}
.fm[data-trn="fadeblack"] .fm-slide.out{opacity:0;transition:opacity .9s ease}
.fm[data-trn="flash"] .fm-slide{transition-duration:1.1s}
.fm-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,#fff,rgba(255,240,200,.85) 38%,transparent 76%)}
.fm-fl .fm-flash{animation:fmflash 1.15s ease-out}
@keyframes fmflash{0%{opacity:0}16%{opacity:.95}100%{opacity:0}}
/* طبقات التلوين */
.fm-grade,.fm-vig,.fm-grain,.fm-shade,.fm-sun,.fm-flick,.fm-scr{position:absolute;inset:0;pointer-events:none}
.fm-grade{z-index:3}
.fm-vig{z-index:4;background:radial-gradient(ellipse at 50% 50%,transparent 52%,rgba(0,0,0,.42) 100%)}
.fm-grain{z-index:4;opacity:.11;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:fmgrain .6s steps(1) infinite}
@keyframes fmgrain{0%{background-position:0 0}20%{background-position:-45px 30px}40%{background-position:35px -55px}60%{background-position:-65px -25px}80%{background-position:25px 45px}100%{background-position:0 0}}
.fm-shade{z-index:4;background:linear-gradient(0deg,rgba(0,0,0,calc(var(--sh,.35) * 1.25)),rgba(0,0,0,calc(var(--sh,.35) * .4)) 55%,rgba(0,0,0,calc(var(--sh,.35) * .22)))}
.fm-sun,.fm-flick,.fm-scr{display:none}
.fm-cine .fm-slide{filter:contrast(1.12) saturate(1.1) brightness(.93)}
.fm-cine .fm-grade{background:linear-gradient(118deg,rgba(0,105,130,.34),rgba(0,0,0,0) 48%,rgba(255,135,45,.28))}
.fm-sunrise .fm-slide{filter:saturate(1.15) brightness(1.04) sepia(.14)}
.fm-sunrise .fm-grade{background:linear-gradient(0deg,rgba(255,170,55,.55),rgba(255,120,80,.2) 40%,rgba(80,110,190,.18))}
.fm-sunrise .fm-sun,.fm-sunset .fm-sun{display:block;inset:auto;left:50%;bottom:-24%;width:min(92vw,62rem);aspect-ratio:1;transform:translateX(-50%);z-index:3;mix-blend-mode:screen}
.fm-sunrise .fm-sun{background:radial-gradient(circle,rgba(255,232,150,.9),rgba(255,170,60,.38) 36%,transparent 66%);animation:fmrise 18s ease-in-out infinite alternate}
@keyframes fmrise{from{transform:translate(-50%,22%) scale(.9)}to{transform:translate(-50%,-14%) scale(1.12)}}
.fm-sunset .fm-slide{filter:saturate(1.2) contrast(1.06) brightness(.95)}
.fm-sunset .fm-grade{background:linear-gradient(0deg,rgba(255,92,40,.5),rgba(196,62,124,.36) 42%,rgba(38,28,112,.5))}
.fm-sunset .fm-sun{background:radial-gradient(circle,rgba(255,150,80,.85),rgba(230,70,90,.36) 38%,transparent 66%);animation:fmset 18s ease-in-out infinite alternate}
@keyframes fmset{from{transform:translate(-50%,-16%) scale(1.12)}to{transform:translate(-50%,26%) scale(.9)}}
.fm-classic .fm-slide{filter:grayscale(.85) sepia(.5) contrast(1.15) brightness(.94)}
.fm-classic .fm-grade{background:radial-gradient(ellipse at center,rgba(120,80,30,.12),rgba(30,18,6,.35))}
.fm-classic .fm-grain{opacity:.24}
.fm-classic .fm-flick{display:block;z-index:4;background:rgba(255,248,225,.07);animation:fmflick 1.1s steps(1) infinite}
@keyframes fmflick{0%{opacity:0}9%{opacity:1}13%{opacity:0}38%{opacity:.7}42%{opacity:0}66%{opacity:1}69%{opacity:.2}100%{opacity:0}}
.fm-classic .fm-scr{display:block;z-index:4;background:repeating-linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.16) 14% 14.12%,transparent 14.12% 37%,rgba(255,255,255,.1) 37% 37.1%,transparent 37.1% 71%,rgba(255,255,255,.14) 71% 71.1%,transparent 71.1% 100%);animation:fmscr 1.7s steps(1) infinite}
@keyframes fmscr{0%{transform:translateX(0);opacity:.7}25%{transform:translateX(9%);opacity:0}50%{transform:translateX(-14%);opacity:.8}75%{transform:translateX(5%);opacity:.2}100%{transform:translateX(0);opacity:.7}}
.fm-dream .fm-slide{filter:saturate(1.2) brightness(1.08) contrast(.96)}
.fm-dream .fm-grade{background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.2),transparent 62%),linear-gradient(180deg,rgba(150,120,255,.24),rgba(255,150,205,.2));mix-blend-mode:screen}
.fm-none .fm-grade,.fm-none .fm-grain{display:none}
/* شريطا الفيلم */
.fm-bars i{position:absolute;inset-inline:0;height:var(--bar);background:#000;z-index:5;animation:fmbar 1.4s cubic-bezier(.2,.8,.2,1) both}
.fm-bars i:first-child{top:0;transform-origin:top}.fm-bars i:last-child{bottom:0;transform-origin:bottom}
@keyframes fmbar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* العبارات */
.fm-txt{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--bar) + 1.4rem) 1.4rem;gap:0.2rem}
.fm-txt.fm-bottom{justify-content:flex-end;padding-bottom:calc(var(--bar) + 3.4rem)}
.fm-txt>*{opacity:0;transform:translateY(1.1rem);animation:fmup 1.3s cubic-bezier(.2,.8,.2,1) forwards;margin:0;max-width:min(52rem,100%)}
.fm-t1{font-size:clamp(0.78rem,1.5vw,1.05rem);font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.92);padding:0.3rem 1.1rem;border:1px solid rgba(255,255,255,.45);border-radius:6.19rem;background:rgba(0,0,0,.18);backdrop-filter:blur(3px);animation-delay:.35s!important}
.fm-t2{font-size:clamp(2rem,6.8vw,5rem);font-weight:900;line-height:1.3;text-shadow:0 0.2rem 1.6rem rgba(0,0,0,.6);margin-top:0.7rem!important;animation-delay:.65s!important}
.fm-t3{font-size:clamp(0.95rem,2.3vw,1.55rem);font-weight:600;line-height:1.85;color:rgba(255,255,255,.93);text-shadow:0 0.1rem 0.8rem rgba(0,0,0,.6);margin-top:0.8rem!important;animation-delay:.95s!important}
@keyframes fmup{to{opacity:1;transform:none}}
.fm-dots{position:absolute;bottom:calc(var(--bar) + 0.9rem);inset-inline:0;z-index:7;display:flex;justify-content:center;gap:0.5rem}
.fm-dot{width:0.55rem;height:0.55rem;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer;transition:width .3s,background .3s}
.fm-dot.on{width:1.7rem;border-radius:6.19rem;background:#fff}
@media (max-width:700px){.fm{--bar:4.5%}.fm-lg{--fh:72vh}.fm-md{--fh:56vh}}
@media (prefers-reduced-motion:reduce){.fm-slide img,.fm-grain,.fm-sun,.fm-flick,.fm-scr,.fm-txt>*,.fm-bars i{animation:none!important}.fm-txt>*{opacity:1;transform:none}}
/* لوحة التحكم: إدارة صور المشهد */
.fmi{display:flex;flex-direction:column;gap:0.5rem}
.fmi-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.6rem,1fr));gap:0.5rem}
.fmi-t{position:relative;margin:0;border-radius:0.5rem;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);background:#000}
.fmi-t img{width:100%;height:100%;object-fit:cover;display:block}
.fmi-no{position:absolute;top:0.2rem;inset-inline-start:0.25rem;font-size:0.65rem;font-weight:800;color:#fff;background:rgba(0,0,0,.6);padding:0 0.35rem;border-radius:0.3rem}
.fmi-t figcaption{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:0.2rem;padding:0.2rem;background:rgba(0,0,0,.62)}
.fmi-t figcaption button{border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:0.3rem;width:1.5rem;height:1.3rem;font-size:0.75rem;cursor:pointer}
.fmi-t figcaption button:hover{background:rgba(255,255,255,.32)}
.fmi-empty{grid-column:1/-1;font-size:0.75rem;color:var(--soft);padding:0.8rem;border:1px dashed var(--line);border-radius:0.6rem;text-align:center}
.fmi-bar{display:flex;align-items:center;gap:0.7rem}.fmi-n{font-size:0.72rem;color:var(--soft)}
/* ===== v18: التكليفات والتوقيع ومعدّ التقرير ===== */
.msel{display:flex;flex-wrap:wrap;gap:0.4rem}
.msel-chip{border:1px solid var(--line);background:var(--surf);color:var(--ink);border-radius:6.19rem;padding:0.3rem 0.85rem;font-size:0.78rem;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}
.msel-chip:hover{border-color:var(--teal,#0da9a6)}
.msel-chip.on{background:color-mix(in srgb,var(--teal,#0da9a6) 26%,transparent);border-color:var(--teal,#0da9a6)}
.msel-chip.on::before{content:'✓ ';font-weight:900}
.prep-hint{display:block;margin-top:0.3rem;font-size:0.72rem;color:var(--soft)}
.rpt-sign .rs-role{display:block;font-weight:800}
.rpt-sign .rs-name{display:block;font-style:normal;font-weight:800;color:var(--ink);font-size:0.84rem;margin:0.25rem 0 0}
.rpt-sign .rs-sig{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);height:3.4rem;margin:0.3rem 0 0}
.rpt-sign .rs-sig img{max-height:3.1rem;max-width:100%;object-fit:contain;display:block}
:root[data-theme="dark"] .rpt-sign .rs-sig img{filter:drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 0 4px rgba(255,255,255,.55))}


/* ============ server mode ============ */
.srv-only{display:none}
.srv .srv-only{display:block}
.srv #pwCancel{display:none}
.srv #fgLink{display:inline-block}
#secBanner{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
#secBanner[hidden]{display:none}
.sb-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:rgba(214,166,66,.14);border:1px solid rgba(214,166,66,.5);color:var(--brass);border-radius:14px;padding:10px 16px;font-size:13.5px}
.ac-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ac-list li{padding:10px 14px;border-radius:12px;font-size:13.5px;background:var(--surf2);border-inline-start:4px solid var(--forest)}
.ac-list li.bad{border-color:#d6334a;background:rgba(214,51,74,.1)}.ac-list li.warn{border-color:#d6a642;background:rgba(214,166,66,.1)}
.ac-danger{border:1px solid rgba(214,51,74,.45)}
.acp .gs-f{margin-bottom:10px}
