/* ===== Rwwad dashboards (admin / teacher / student / consent) ===== */
body.app{background:#F3F5FA}
body.app #site-ai{display:none}
.abar{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.abar .wrap{display:flex;align-items:center;gap:12px;height:64px;max-width:1280px}
.abar .who{margin-inline-start:auto;display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--muted)}
.abar .who b{color:var(--navy)}
.abar .lang{margin:0}
.chipr{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;border-radius:999px;padding:2px 10px;background:var(--bg);color:var(--navy)}
.shell{max-width:1280px;margin:0 auto;padding:22px 20px 60px;display:grid;grid-template-columns:230px 1fr;gap:22px;align-items:start}
.side{position:sticky;top:86px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;display:flex;flex-direction:column;gap:4px}
.side button{display:flex;align-items:center;gap:10px;border:0;background:none;font:inherit;font-weight:800;font-size:15.5px;color:var(--muted);padding:11px 12px;border-radius:14px;cursor:pointer;text-align:start;transition:background .15s,color .15s}
.side button:hover{background:var(--bg);color:var(--navy)}
.side button.on{background:var(--navy);color:#fff}
.side button .n{margin-inline-start:auto;background:var(--red);color:#fff;border-radius:999px;font-size:12px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}
.side button svg{width:20px;height:20px;flex:none}
.main h1{margin:0 0 4px;color:var(--navy);font-size:28px}
.main .sub{color:var(--muted);margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:20px}
.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .15s,box-shadow .15s}
.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.stat b{font-family:"Baloo Bhaijaan 2";font-size:34px;color:var(--navy);line-height:1.1}
.stat span{color:var(--muted);font-weight:700}
.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.toolbar .grow{flex:1}
.tabs2{display:flex;gap:6px;background:var(--bg);border-radius:14px;padding:4px}
.tabs2 button{border:0;background:none;border-radius:11px;padding:8px 14px;font:inherit;font-weight:800;color:var(--muted);cursor:pointer}
.tabs2 button.on{background:#fff;color:var(--navy);box-shadow:0 2px 0 var(--line)}
.list{display:flex;flex-direction:column;gap:10px}
.row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:#FCFDFF}
.row h3{margin:0;font-size:18px;color:var(--navy);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.row .meta{color:var(--muted);font-size:14px;margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 14px}
.row .acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.row .det{grid-column:1/-1;background:var(--bg);border-radius:12px;padding:10px 12px;font-size:15px;white-space:pre-wrap}
.st{font-size:12px;font-weight:800;border-radius:999px;padding:2px 10px}
.st.new{background:#E5F1FB;color:#11649A}.st.sent{background:#FFF4D1;color:#7A5A00}.st.ok{background:#EAF6D6;color:#3B6A0A}.st.no{background:#FFE7E8;color:#A3262A}.st.mute{background:#EEF0F6;color:var(--muted)}
.b2{appearance:none;border:2px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:800;font-size:14px;border-radius:12px;padding:7px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none}
.b2:hover{border-color:var(--navy)}
.b2.pri{background:var(--navy);border-color:var(--navy);color:#fff}
.b2.ok{background:#3B8C0A;border-color:#3B8C0A;color:#fff}
.b2.wa{background:#25D366;border-color:#25D366;color:#fff}
.b2.bad{color:#A3262A}
.b2.warn{color:#9A5B00;border-color:#F2C46B;background:#FFF7E3}
.b2.bad.on,.b2.bad:not([disabled]):hover{background:#FFEDED}
.b2:disabled{opacity:.5;cursor:default}
.empty{color:var(--muted);text-align:center;padding:30px 10px}
.modal{max-width:520px}
.modal .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.perm{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:12px;border:1px solid var(--line);margin-bottom:6px;cursor:pointer}
.perm input{margin-top:4px;width:18px;height:18px;flex:none}
.perm b{display:block;color:var(--navy);font-size:15px}
.perm small{color:var(--muted)}
.presets{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.cred{background:var(--navy);color:#fff;border-radius:16px;padding:16px;margin:12px 0;display:grid;gap:8px}
.cred div{display:flex;justify-content:space-between;gap:10px;align-items:center}
.cred code{font-family:"Baloo Bhaijaan 2",monospace;font-size:22px;font-weight:800;color:var(--yellow);direction:ltr;letter-spacing:1px}
.warn{background:#FFF4D1;color:#7A5A00;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700}
.center-card{max-width:460px;margin:60px auto;background:#fff;border:3px solid var(--navy);box-shadow:0 8px 0 var(--navy);border-radius:24px;padding:28px}
.center-card h1{margin:0 0 6px;color:var(--navy);font-size:26px}
.center-card p{color:var(--muted);margin:0 0 14px}
.center-card label{display:block;font-weight:700;margin:12px 0 6px}
.center-card .btn{width:100%;margin-top:16px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;border-radius:14px;padding:12px 18px;font-weight:800;opacity:0;transition:all .25s;z-index:200;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%)}
@media (max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{position:static;flex-direction:row;overflow-x:auto}
  .side button{white-space:nowrap}
  .row{grid-template-columns:1fr}.row .acts{justify-content:flex-start}
  .abar .who .nm{display:none}
}
.hide-sm{}@media (max-width:860px){.hide-sm{display:none}}
/* ===== course files (assets/files.js) ===== */
.fup h2,.panel>h2{margin:0 0 6px;color:var(--navy);font-size:20px}
.fup label{display:block;font-weight:700;margin:12px 0 6px}
.fdrop{display:flex!important;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--line);border-radius:16px;padding:18px;cursor:pointer;background:#FCFDFF;text-align:center;margin-top:10px!important}
.fdrop:hover{border-color:var(--navy)}.fdrop input{display:none}.fdrop .big{font-weight:800;color:var(--navy);font-size:17px}.fdrop small{color:var(--muted)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}
.fup select.field,.fup input.field{width:100%}
.fsw{display:flex!important;align-items:center;gap:8px}.fnote{display:block;color:var(--muted);margin:-2px 0 12px}
.fbar{height:8px;background:var(--bg);border-radius:9px;overflow:hidden;margin-top:10px}.fbar i{display:block;height:100%;width:0;background:var(--green,#8AC926);transition:width .2s}
.frow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#FCFDFF}
.frow.hid{opacity:.6}.frow .fic{font-size:26px}.frow .fi{flex:1;min-width:160px;display:flex;flex-direction:column}.frow .fi b{color:var(--navy)}.frow .fi small{color:var(--muted)}
.frow .facts{display:flex;gap:6px;flex-wrap:wrap}
.ftag{font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;white-space:nowrap}.ftag.dl{background:#EAF6D6;color:#3B6A0A}.ftag.vo{background:#FFF4D1;color:#7A5A00}.ftag.hid{background:#EEF0F6;color:var(--muted)}
.fask{position:fixed;inset:0;z-index:90;background:rgba(20,28,55,.45);display:grid;place-items:center;padding:20px}.fask .box{background:#fff;border-radius:18px;padding:20px;max-width:420px}.fask p{margin:0 0 14px;font-weight:700;color:var(--navy)}
.fview{position:fixed;inset:0;z-index:80;background:#E9ECF4;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}
.fvbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.fvbar b{color:var(--navy);font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fvbar .grow{flex:1}
.fvbody{flex:1;overflow:auto;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:14px}
.fpage{direction:ltr;max-width:100%;height:auto;background:#fff;box-shadow:0 4px 18px rgba(20,28,55,.12);border-radius:6px}
.fdocx{max-width:100%;overflow:auto;direction:ltr}
@media (max-width:860px){.fdocx section.docx{padding:18px 16px!important;width:auto!important;min-height:0!important}}.fdocx .docx-wrapper{background:transparent!important;padding:0!important}
.fmark{position:absolute;inset:0;pointer-events:none;background-repeat:repeat;z-index:5}
/* admin: lesson cards */
.scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.scard{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.scard.hid{opacity:.5}.scard img{width:100%;aspect-ratio:9/16;object-fit:cover;background:var(--bg)}
.scard .cap{padding:8px 10px;font-weight:700;color:var(--navy);font-size:14px;min-height:20px}
.scard .acts{display:flex;flex-wrap:wrap;gap:4px;padding:0 8px 10px}.scard .acts .b2{padding:4px 8px;font-size:12.5px}
/* ===== course builder (assets/course-builder.js) ===== */
.cbnote{background:#FFF8E1;border:1px solid #F6E2A6;border-radius:14px;padding:10px 14px;color:#6B5300;font-weight:700;margin-bottom:14px}
.cbunit{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;margin-bottom:16px}
.cbunit h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--navy)}
.cbunit h3 .un{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Baloo Bhaijaan 2"}
.cbles{border:1px solid var(--line);border-radius:14px;margin:8px 0;background:#FCFDFF}
.cbles .lh{display:flex;align-items:center;gap:10px;padding:10px 12px}.cbles .lh b{flex:1;color:var(--navy)}
.cbles .nb{font:800 14px "Baloo Bhaijaan 2";color:var(--navy);background:var(--bg);border-radius:8px;padding:2px 8px;direction:ltr}
.cbin{padding:0 12px 6px;margin-inline-start:18px;border-inline-start:3px solid #CFE4F5}
.cbslot{margin:6px 0}.cbslot .sl{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}
.cbslot .sl span{flex:1;border-bottom:1px dashed var(--line);padding-bottom:2px}.cbslot .sl .b2{padding:3px 10px;font-size:12.5px}
.cbit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-inline-start:5px solid var(--k);background:#fff;border-radius:12px;padding:8px 10px;margin:6px 0;box-shadow:0 1px 0 var(--line)}
.cbit .ki{font-size:20px}.cbit .tx{flex:1;min-width:160px;display:flex;flex-direction:column}.cbit .tx b{color:var(--navy)}.cbit .tx small{color:var(--muted)}
.cbit .acts{display:flex;gap:4px;flex-wrap:wrap}.cbit .acts .b2{padding:4px 9px;font-size:12.5px}
.rq{font-style:normal;color:#A3262A;font-weight:800}
.cbveil{position:fixed;inset:0;z-index:95;background:rgba(20,28,55,.5);display:none;align-items:flex-start;justify-content:center;padding:24px 12px;overflow:auto}
.cbveil.open{display:flex}
.cbbox{background:#fff;border-radius:22px;padding:22px;width:min(560px,100%);position:relative}.cbbox.wide{width:min(820px,100%)}
.cbbox h2{margin:0 0 6px;color:var(--navy)}.cbbox label{display:block;font-weight:700;margin:12px 0 6px;color:var(--navy)}
.cbbox .field{width:100%}.cbbox textarea.field{font:inherit;resize:vertical}
.cbbox .x{position:absolute;top:12px;inset-inline-end:12px;border:2px solid var(--line);background:#fff;border-radius:50%;width:34px;height:34px;cursor:pointer}
.cbreq{display:flex!important;gap:8px;align-items:flex-start;background:#FFF1F1;border-radius:12px;padding:10px}
.cben{margin-top:12px;background:var(--bg);border-radius:12px;padding:8px 12px}.cben summary{cursor:pointer;font-weight:800;color:var(--navy)}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.fgrid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:0 10px}
.qc{border:2px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;background:#FCFDFF}
.qc .qh{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--navy)}.qc .qh .b2{padding:2px 8px;font-size:12px}
.qc .opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.qc .op{display:flex!important;align-items:center;gap:8px;margin:0!important}.qc .op input[type=radio]{width:20px;height:20px;accent-color:#3B8C0A;flex:none}
.qc .tf{display:flex;gap:16px;margin:8px 0;padding:8px}.qc .tf label{margin:0;display:flex;gap:6px;align-items:center}
.qc .qw{margin-top:8px;font-size:14px}
.toolbar .grow{flex:1}
@media(max-width:640px){.qc .opts,.fgrid3,.fgrid2{grid-template-columns:1fr}}
/* ===== course page for students (assets/course-view.js) ===== */
.cvlegend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-weight:700;font-size:13.5px;margin-bottom:12px}
.cvlegend span{border-inline-start:4px solid var(--k);background:#fff;border-radius:8px;padding:3px 9px;color:var(--navy)}
.cvlay{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.cvteacher{position:sticky;top:86px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.cvteacher .ph{aspect-ratio:1/1;background:#dfe6f2}.cvteacher .ph img{width:100%;height:100%;object-fit:cover}
.cvteacher .b{padding:14px}.cvteacher small{color:var(--muted);font-weight:800;display:block}.cvteacher h3{margin:2px 0;color:var(--navy)}.cvteacher p{margin:0 0 10px;color:var(--muted);font-size:14px}
.cvteacher video{width:100%;border-radius:12px;border:3px solid var(--navy);margin-top:6px;background:#000}
.cvunit{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;margin-bottom:16px}
.cvunit .uh{display:flex;align-items:center;gap:10px;margin-bottom:8px}.cvunit .uh h3{margin:0;color:var(--navy);font-size:18px}
.cvunit .un{width:38px;height:38px;border-radius:12px;color:#fff;display:grid;place-items:center;font:800 20px "Baloo Bhaijaan 2";flex:none}
.cvles{border:1px solid var(--line);border-radius:14px;margin:8px 0;background:#FCFDFF;overflow:hidden}
.cvles .lh{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;font:inherit;padding:12px;cursor:pointer;text-align:start}
.cvles .pl{width:26px;height:26px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.cvles .nb{font:800 14px "Baloo Bhaijaan 2";color:var(--navy);background:var(--bg);border-radius:8px;padding:2px 8px;direction:ltr}
.cvles .g{flex:1;font-weight:800;color:var(--navy)}.cvles .g small{display:block;color:#3B8C0A;font-size:12px}
.cvles .cnt{background:var(--bg);border-radius:999px;padding:2px 9px;font-weight:800;color:var(--navy);font-size:13px}
.cvles .in{display:none;padding:0 12px 10px;margin-inline-start:22px;border-inline-start:3px solid #CFE4F5}.cvles.open .in{display:block}
.cvles.off .g{opacity:.65}
.cvit{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-inline-start:5px solid var(--k);background:#fff;border-radius:12px;padding:9px 11px;margin:7px 0;box-shadow:0 1px 0 var(--line)}
.cvit .ki{font-size:20px}.cvit .tx{flex:1;min-width:150px;display:flex;flex-direction:column}.cvit .tx b{color:var(--navy)}.cvit .tx small{color:var(--muted)}
.cvit .bd{font-size:14px;color:var(--ink);margin-top:4px;white-space:pre-wrap}
.cvit .acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cvit .acts .b2{padding:6px 11px;font-size:13.5px}
.cvit.lock{opacity:.6;background:#F6F7FB}.cvit.dn{background:#F6FBEF}
.lockt{color:#7A5A00;background:#FFF4D1;border-radius:10px;padding:4px 10px;font-weight:800;font-size:13px;display:inline-block}
.cvit .b2:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1000px){.cvlay{grid-template-columns:1fr}.cvteacher{position:static;display:grid;grid-template-columns:140px 1fr}.cvteacher .ph{aspect-ratio:auto}}
@media(max-width:560px){.cvteacher{grid-template-columns:1fr}.cvteacher .ph{aspect-ratio:16/10}}
/* exam */
.exv .fvbody{align-items:stretch}.exbox{max-width:780px;margin:0 auto;width:100%;user-select:text;-webkit-user-select:text}
.exq{background:#fff;border:2px solid var(--line);border-radius:18px;padding:14px 16px;margin:12px 0}.exq b{color:var(--navy);font-size:17px;white-space:pre-wrap}
.exq.ok{border-color:#8AC926;background:#F6FBEF}.exq.no{border-color:#FF595E;background:#FFF5F5}
.exo{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.exo.tf{grid-template-columns:1fr 1fr}
.exo label{display:flex;gap:8px;align-items:center;border:2px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font-weight:700;background:#fff}
.exo label:has(input:checked){border-color:var(--navy);background:#EEF2FB}.exo input{accent-color:var(--navy);width:18px;height:18px}
.exn{display:flex;gap:8px;align-items:center;margin-top:10px}.exn .field{max-width:260px}.exn span{font-weight:800;color:var(--navy)}
.exr{margin-top:8px;font-weight:800;color:var(--navy)}.exr small{display:block;font-weight:500;color:var(--ink);margin-top:4px;white-space:pre-wrap}
.exres{border-radius:18px;padding:16px;margin:6px 0 10px;display:flex;flex-direction:column;gap:4px;font-weight:700}
.exres.ok{background:#EAF6D6;color:#2F5A08}.exres.no{background:#FFE7E8;color:#8A1F23}.exres b{font-size:20px}
@media(max-width:560px){.exo{grid-template-columns:1fr}}
.h2s{color:var(--navy);font-size:20px;margin:18px 0 8px}
/* who am I signed in as */
.rolebar{border-bottom:1px solid var(--line)}
.rolebar .wrap{max-width:1280px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:9px 20px;font-size:14px}
.rolebar b{font-weight:800}
.rolebar.adm{background:#2B3A67;color:#fff}.rolebar.adm span{opacity:.85}
.rolebar.tch{background:#EAF6D6;color:#2F5A08}
body[data-page=teacher] .abar{border-bottom:3px solid #8AC926}
body[data-page=admin] .abar{border-bottom:3px solid #FFCA3A}
.side .sidelog{margin-top:14px;font-size:13.5px;opacity:.75}
.linkb{border:0;background:none;padding:0;font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.linkb:hover{text-decoration-color:var(--navy)}
/* ===== ملاحظة 65 + 86: الشريط الزجاجي متل العيّنة — كحلي زجاجي، ضو أصفر بيتزحلق بنطّة، موجة عالجوال ===== */
.side{--spr:cubic-bezier(.34,1.56,.64,1);position:sticky;overflow:hidden;isolation:isolate;border:1.5px solid rgba(255,255,255,.35);background:linear-gradient(165deg,rgba(43,58,103,.94),rgba(30,42,74,.9));-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 2px 1px rgba(255,255,255,.22),inset 0 -12px 24px rgba(0,0,0,.18),0 24px 50px -18px rgba(10,20,50,.55);border-radius:26px;padding:12px 10px}
.side::before,.side::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(40px);pointer-events:none}
.side::before{width:180px;height:180px;background:#1982C4;opacity:.55;top:-60px;inset-inline-start:-50px}
.side::after{width:160px;height:160px;background:#FFCA3A;opacity:.22;bottom:-60px;inset-inline-end:-40px}
.side>button{position:relative;z-index:1;color:rgba(255,255,255,.74);background:transparent!important;min-height:48px;overflow:hidden;transition:color .3s,padding .45s var(--spr),gap .45s}
.side>button>span:not(.n){transition:opacity .3s,max-width .45s var(--spr);max-width:200px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.side>button:hover{color:#fff}
.side>button.on{color:#FFCA3A;font-weight:800}
.side>button svg{transition:transform .45s var(--spr),color .3s,filter .3s;will-change:transform}
.side>button:hover svg{transform:translateX(-3px)}
[dir=ltr] .side>button:hover svg{transform:translateX(3px)}
.side>button.on svg{color:#FFCA3A;filter:drop-shadow(0 0 6px rgba(255,202,58,.75));animation:rwpop .6s var(--spr)}
@keyframes rwpop{0%{transform:scale(.85)}45%{transform:scale(1.25) rotate(-8deg)}100%{transform:none}}
/* نقطة التنبيه بتنبض */
.side>button .n{position:relative;box-shadow:0 0 0 2px rgba(43,58,103,.9);overflow:visible}
.side>button .n::after,.side>.more.dot::after{content:"";position:absolute;inset:0;border-radius:inherit;animation:rspulse 1.6s ease-out infinite;pointer-events:none}
@keyframes rspulse{0%{box-shadow:0 0 0 0 rgba(255,89,94,.75)}100%{box-shadow:0 0 0 10px rgba(255,89,94,0)}}
/* الضو اللي بيتزحلق (الكمبيوتر) */
.side .wv{position:absolute;left:0;top:0;z-index:0;pointer-events:none;will-change:transform;transition:transform .55s var(--spr),width .45s var(--spr),height .35s,opacity .3s}
.side .wvi{position:absolute;inset:0;border-radius:16px;background:linear-gradient(to left,rgba(255,202,58,.34),rgba(255,202,58,.05));box-shadow:inset 0 1px 1px rgba(255,255,255,.35);transform-origin:center}
[dir=ltr] .side .wvi{background:linear-gradient(to right,rgba(255,202,58,.34),rgba(255,202,58,.05))}
.side .wvi::after{content:"";position:absolute;top:10px;bottom:10px;inset-inline-start:-1px;width:4px;border-radius:4px;background:#FFCA3A;animation:rsglow 2.4s ease-in-out infinite}
@keyframes rsglow{0%,100%{box-shadow:0 0 8px 2px rgba(255,202,58,.8)}50%{box-shadow:0 0 16px 4px rgba(255,202,58,1)}}
.side .wv.mv .wvi{animation:rwstretch .6s var(--spr)}
@keyframes rwstretch{0%{transform:none}35%{transform:scaleY(1.28) scaleX(.97)}70%{transform:scaleY(.92)}100%{transform:none}}
.side .wsv{display:none}
/* زر التصغير */
.side>.mini{position:relative;z-index:1;align-self:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;margin-top:10px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4)!important;background:rgba(255,255,255,.12)!important;color:#fff}
.side>.mini:hover{background:rgba(255,255,255,.2)!important}
.side>.mini svg{transition:transform .45s var(--spr)}
[dir=ltr] .side>.mini svg{transform:rotate(180deg)}
.side-mini .side>.mini svg{transform:rotate(180deg)}
[dir=ltr].side-mini .side>.mini svg,.side-mini [dir=ltr] .side>.mini svg{transform:none}
.side>.more{display:none}
.shell{transition:grid-template-columns .5s var(--spr,ease)}
@media (min-width:861px){
  .side-mini .shell{grid-template-columns:76px 1fr}
  .side-mini .side>button[data-k]{gap:0;padding-inline:16px;justify-content:center}
  .side-mini .side>button>span:not(.n){max-width:0;opacity:0}
  .side-mini .side>button .n{position:absolute;top:4px;inset-inline-end:4px;min-width:18px;height:18px;font-size:11px;margin:0}
  .side-mini .side .sidelog{margin-top:14px}
}
@keyframes rwglow{0%,100%{filter:drop-shadow(0 0 4px rgba(255,202,58,.9))}50%{filter:drop-shadow(0 0 12px rgba(255,202,58,1))}}
.side .sidelog{color:rgba(255,255,255,.6)}
/* لمعة ماشية على الزجاج + ضو مكان الكبسة */
.side .shine{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.side .shine::before{content:"";position:absolute;top:-30%;bottom:-30%;width:38%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14) 45%,rgba(255,202,58,.12) 55%,transparent);transform:skewX(-14deg);animation:rwshine 6s ease-in-out infinite}
@keyframes rwshine{0%{left:-60%}55%,100%{left:130%}}
.side .rip{position:absolute;z-index:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:rgba(255,202,58,.45);pointer-events:none;animation:rwrip .7s ease-out forwards}
@keyframes rwrip{to{transform:scale(16);opacity:0}}
/* ===== الجوال: شريط تحت، موجة صفرا كبيرة متل العيّنة، 5 تبويبات + «المزيد» ===== */
@media (max-width:860px){
  body.app{padding-bottom:100px}
  .side{position:fixed!important;z-index:60;left:10px;right:10px;bottom:10px;top:auto;flex-direction:row;gap:0;overflow:hidden;padding:0 4px;border-radius:30px;height:72px;
    background:rgba(43,58,103,.84);border:1.5px solid rgba(255,255,255,.32);box-shadow:inset 0 2px 1px rgba(255,255,255,.28),inset 0 -10px 20px rgba(0,0,0,.14),0 18px 36px rgba(10,20,50,.38)}
  .side>button[data-k],.side>.more{flex:1 1 0;min-width:0;min-height:0;height:auto;align-self:stretch;flex-direction:column;justify-content:center;gap:4px;padding:6px 2px 10px;font-size:11px;color:rgba(255,255,255,.66);white-space:nowrap;margin:0;border-radius:0}
  .side>button>span:not(.n){max-width:100%}
  .side>button:hover{color:#fff}
  .side>button:hover svg{transform:none}
  .side>button.ov{display:none}
  .side>.more{display:flex;position:relative;z-index:1;align-items:center;border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:800}
  .side>.more[hidden]{display:none}
  .side>.more svg{width:22px;height:22px;transition:transform .45s var(--spr),color .3s}
  .side>.more.dot::after{inset:auto;top:12px;inset-inline-end:calc(50% - 16px);width:9px;height:9px;border-radius:50%;background:#FF595E}
  .side>button.on,.side>.more.on{color:#fff;font-weight:800}
  .side>button.on svg,.side>.more.on svg{color:#FFCA3A;transform:translateY(-5px) scale(1.14);filter:drop-shadow(0 0 7px rgba(255,202,58,.85));animation:rwpopm .6s var(--spr)}
  @keyframes rwpopm{0%{transform:translateY(0) scale(.85)}45%{transform:translateY(-9px) scale(1.25) rotate(-8deg)}100%{transform:translateY(-5px) scale(1.14)}}
  .side>button .n{position:absolute;top:8px;inset-inline-end:calc(50% - 22px);margin:0;min-width:18px;height:18px;font-size:11px}
  .side>.mini,.side .sidelog{margin:0}
  .side>.mini{display:none}
  .side .wv{transition:transform .7s var(--spr),opacity .3s}
  .side .wvi{border-radius:0;background:radial-gradient(60% 70% at 50% 100%,rgba(255,202,58,.30),transparent 75%);box-shadow:none}
  .side .wvi::after{display:none}
  .side .wsv{display:block;position:absolute;bottom:0;left:-1200px;overflow:visible}
  .side .wsv .f{fill:rgba(255,202,58,.10)}
  .side .wsv .l{fill:none;stroke:#FFCA3A;stroke-width:3;stroke-linecap:round;animation:rwglow 2.4s ease-in-out infinite}
  .side .wv.mv .wvi{animation:none}
  .side .wv.mv .wsv{animation:rwjelly .7s var(--spr);transform-origin:1200px 100%}
  @keyframes rwjelly{0%{transform:none}30%{transform:scaleX(1.06) scaleY(1.35)}62%{transform:scaleY(.86)}100%{transform:none}}
  .side .shine::before{top:-10%;bottom:-10%;width:30%}
  .toast{bottom:104px}
  .sidepop{position:fixed;z-index:61;left:14px;right:14px;bottom:92px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;border-radius:24px;
    background:rgba(43,58,103,.9);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);border:1.5px solid rgba(255,255,255,.32);box-shadow:inset 0 2px 1px rgba(255,255,255,.25),0 18px 40px rgba(10,20,50,.4);
    opacity:0;transform:translateY(16px) scale(.96);transform-origin:50% 100%;pointer-events:none;transition:opacity .25s,transform .45s cubic-bezier(.34,1.56,.64,1)}
  .sidepop.open{opacity:1;transform:none;pointer-events:auto}
  .sidepop button{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:0;border-radius:16px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.8);font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}
  .sidepop button svg{width:22px;height:22px}
  .sidepop button.on{background:rgba(255,202,58,.18);color:#FFCA3A}
  .sidepop button .n{position:absolute;top:6px;inset-inline-end:10px;background:#FF595E;color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}
}
@media (min-width:861px){.sidepop{display:none}}
/* نسخة أخف للأجهزة الضعيفة */
.rw-lite .side,.rw-lite .sidepop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#2B3A67!important}
.rw-lite .side .shine,.rw-lite .side::before,.rw-lite .side::after{display:none}
.rw-lite .side .wsv .l,.rw-lite .side .wvi::after{animation:none}
@media (prefers-reduced-motion:reduce){.side *,.side .wv,.sidepop{animation:none!important;transition:none!important}}
/* محرر صورة الخبر (ملاحظة 84): نفس مقاس بطاقة الرئيسية 16:9 */
.nie{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:16px;align-items:start}
.nprev{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:18px;border:2px solid var(--line);background:linear-gradient(150deg,#FFCA3A,#FF595E);display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none}
.nprev.drag{cursor:grabbing}.nprev .sub{color:#fff;font-weight:800}
.nprev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.nprev img.nbg{filter:blur(18px) saturate(1.2);transform:scale(1.2);opacity:.85}
.nprev.busy::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.6) url(/assets/logo.webp) center/64px no-repeat;animation:rwbusy 1.2s ease-in-out infinite}
@keyframes rwbusy{50%{background-color:rgba(255,255,255,.35)}}
.nctl .nrow{display:flex;align-items:center;gap:10px;font-weight:700;margin:0 0 10px}.nctl .nrow input{flex:1}
.nctl .ngen{display:flex;gap:8px;margin-top:10px}.nctl .ngen .field{flex:1;margin:0}
.nctl .seg2{display:flex;flex-wrap:wrap;gap:6px}.nctl .seg2 button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:700 14px Tajawal,sans-serif;cursor:pointer;color:var(--navy)}.nctl .seg2 button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
@media(max-width:700px){.nie{grid-template-columns:1fr}.nctl .ngen{flex-direction:column}}
