/* ===== اللوحات العامة ===== */
.panel{position:absolute;inset:20px 20px 14px;max-width:1180px;margin:0 auto;z-index:40;display:none;flex-direction:column;
  background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.5);
  color:var(--txt);overflow:hidden;animation:pin .18s ease}
.panel.on{display:flex}
@keyframes pin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ph{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex:0 0 auto}
.ph h2{margin:0;font-size:19px;white-space:nowrap}
.search{flex:1;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--txt);
  padding:0 14px;font-size:14px;outline:none;font-family:inherit;min-width:120px}
.search:focus{border-color:var(--accent)}
.pbtn{height:36px;border:0;border-radius:9px;background:var(--bar2);color:var(--txt);padding:0 14px;font-size:14px;
  cursor:pointer;font-family:inherit;white-space:nowrap}
.pbtn:hover{background:var(--hover)}
.pbtn.accent{background:var(--accent);color:#fff;font-weight:700}
.pbtn.accent:disabled{opacity:.4;cursor:default}
.pbtn.x{width:36px;padding:0;font-size:16px}
.pbtn.x:hover{background:var(--danger)}
.pb{flex:1;overflow:auto;padding:16px 18px 22px}
.pb::-webkit-scrollbar{width:10px}.pb::-webkit-scrollbar-thumb{background:#3b3e49;border-radius:6px}
.sec{margin:6px 0 10px;font-size:13px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:8px}
.sec .cnt{background:var(--bar2);border-radius:10px;padding:1px 8px;font-weight:400}
.muted{color:var(--muted);font-size:13px}
.empty{color:var(--muted);text-align:center;padding:30px 10px;font-size:15px;line-height:1.8}
select{height:36px;border-radius:9px;border:1px solid var(--line);background:var(--field);color:var(--txt);padding:0 10px;font-family:inherit;font-size:14px}

/* ===== البرامج المفتوحة ===== */
.wins{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:22px}
.owin{background:var(--field);border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;transition:.15s;text-align:right}
.owin:hover{border-color:var(--accent);transform:translateY(-2px)}
.owin .th{aspect-ratio:16/10;background:var(--field2) center/contain no-repeat;display:grid;place-items:center}
.owin .th img.big{width:48px;height:48px;opacity:.85}
.owin .tl{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px}
.owin .tl img{width:18px;height:18px;flex:0 0 auto}
.owin .tl span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* ===== البرامج المثبتة ===== */
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-bottom:22px}
.app{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 10px;border-radius:12px;
  cursor:pointer;border:1px solid transparent;text-align:center}
.app:hover{background:var(--hover);border-color:var(--line)}
.app .ic{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-weight:700;font-size:19px;color:#fff}
.app .ic img{width:42px;height:42px}
.app .nm{font-size:12.5px;line-height:1.35;max-height:2.7em;overflow:hidden;word-break:break-word}
.app .star{position:absolute;top:4px;left:4px;width:26px;height:26px;border:0;border-radius:50%;background:transparent;
  color:#6b6f7a;cursor:pointer;font-size:15px;opacity:0;transition:.12s}
.app:hover .star,.app .star.on{opacity:1}
.app .star.on{color:#ffd43b}
.app .star:hover{background:var(--hover)}
.app .run{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 3px rgba(47,179,68,.25)}

/* ===== مكتبة الدروس ===== */
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.card{background:var(--field);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:.15s;position:relative}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .th{aspect-ratio:16/10;background:var(--field2) center top/cover no-repeat;display:grid;place-items:center;font-size:44px;font-weight:800;color:#fff}
.card .bd{padding:10px 12px}
.card .nm{font-size:14.5px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.card .dt{font-size:12px;color:var(--muted);margin-top:3px;direction:ltr;text-align:right;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.card .acts{position:absolute;top:8px;left:8px;display:flex;gap:5px;opacity:0;transition:.12s}
.card:hover .acts{opacity:1}
.card .acts button{width:30px;height:30px;border:0;border-radius:8px;background:rgba(0,0,0,.65);color:#fff;cursor:pointer;font-size:14px}
.card .acts button:hover{background:var(--accent)}
.card .acts button.del:hover{background:var(--danger)}
.card input.rn{width:100%;background:var(--field2);border:1px solid var(--accent);color:var(--txt);border-radius:6px;padding:4px 8px;font:inherit;font-weight:700;outline:none}

/* ===== العجلة ===== */
.wheelWrap{display:flex;gap:22px;position:relative}
.wheelSide{width:250px;flex:0 0 auto;display:flex;flex-direction:column;gap:10px}
.lbl{font-size:13px;color:var(--muted);font-weight:700}
#names{flex:1;min-height:180px;resize:none;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--txt);
  padding:10px 12px;font-size:15px;line-height:1.7;font-family:inherit;outline:none}
#names:focus{border-color:var(--accent)}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
.chk input{accent-color:var(--accent);width:16px;height:16px}
.wheelMain{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-width:0}
.wheelBox{position:relative;width:min(100%,62vh,560px);aspect-ratio:1}
#wheel{width:100%;height:100%;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
.pointer{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;
  border-right:18px solid transparent;border-top:34px solid #fff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.spin{height:50px;padding:0 40px;border:0;border-radius:25px;background:linear-gradient(135deg,#ff8f57,#f2662a);color:#fff;
  font-size:19px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px rgba(242,102,42,.35)}
.spin:hover{filter:brightness(1.08)}
.spin:disabled{opacity:.5;cursor:default}
.winner{position:absolute;inset:0;display:none;place-items:center;background:rgba(15,16,20,.72);z-index:5}
.winner.on{display:grid;animation:pin .2s ease}
#confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wcard{position:relative;background:#fff;color:#222;border-radius:24px;padding:30px 60px 26px;text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,.5);animation:pop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.wl{color:#888;font-size:16px}
.wn{font-size:clamp(46px,8vw,92px);font-weight:900;color:#f2662a;margin:6px 0 18px;line-height:1.2}
.wbtns{display:flex;gap:10px;justify-content:center}
.wbtns .pbtn{height:50px;background:#eee;color:#333;padding:0 26px;font-size:16px}

/* ===== المؤقّت ===== */
.pop{position:absolute;bottom:10px;z-index:45;display:none;background:var(--bar-solid);border:1px solid var(--line);border-radius:14px;
  padding:14px;box-shadow:0 14px 40px rgba(0,0,0,.45);color:var(--txt)}
.pop.on{display:block;animation:pin .15s ease}
.chips{display:flex;gap:6px;margin:8px 0 12px;flex-wrap:wrap}
.chips button,.custom button{height:36px;min-width:46px;border:0;border-radius:9px;background:var(--bar2);color:var(--txt);
  cursor:pointer;font-family:inherit;font-size:14px;padding:0 10px}
.chips button:hover,.custom button:hover{background:var(--accent);color:#fff}
.custom{display:flex;align-items:center;gap:8px}
.custom #tCustom{font-size:20px;font-weight:800;min-width:28px;text-align:center}
.custom .go{background:var(--accent);color:#fff;font-weight:700;margin-inline-start:auto;padding:0 18px}

.timerW{position:absolute;top:20px;left:20px;z-index:35;display:none;flex-direction:column;align-items:center;
  background:rgba(255,255,255,.96);color:#222;border-radius:22px;padding:10px 16px 12px;box-shadow:0 14px 40px rgba(0,0,0,.3);
  --sz:170px;user-select:none}
.timerW.on{display:flex}
.timerW.big{--sz:300px}
.tdrag{cursor:move;color:#bbb;font-size:14px;letter-spacing:-2px;line-height:1;padding:2px 20px 6px;align-self:stretch;text-align:center}
.ring{width:var(--sz);height:var(--sz);transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9}
.ring .bg{stroke:#eee}
.ring .fg{stroke:#2fb344;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s}
.tnum{position:absolute;top:calc(22px + var(--sz)/2);transform:translateY(-50%);font-size:calc(var(--sz)*.25);font-weight:800;
  font-variant-numeric:tabular-nums;direction:ltr}
.tdone{display:none;position:absolute;top:calc(22px + var(--sz)/2);transform:translateY(-50%);font-size:calc(var(--sz)*.13);
  font-weight:900;color:var(--danger);text-align:center;width:var(--sz);line-height:1.3}
.timerW.warn .fg{stroke:#fd7e14}
.timerW.danger .fg{stroke:var(--danger)}
.timerW.danger .tnum{color:var(--danger);animation:pulse 1s infinite}
.timerW.done .tnum{display:none}
.timerW.done .tdone{display:block}
.timerW.done{animation:shake .5s 3}
@keyframes pulse{50%{transform:translateY(-50%) scale(1.08)}}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.tbtns{display:flex;gap:4px;margin-top:8px;direction:ltr}
.tbtns button{width:34px;height:30px;border:0;border-radius:8px;background:#f1f1f3;color:#333;cursor:pointer;font-size:14px;font-family:inherit}
.tbtns button:hover{background:var(--accent);color:#fff}

/* ===== قائمة البرامج بشكل ويندوز ===== */
.alist{margin-bottom:20px}
.alist.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2px 14px}
.alist.grouped{columns:250px;column-gap:22px}
.lh{font-weight:800;font-size:15px;color:var(--accent);padding:12px 10px 4px;break-after:avoid}
.lgrp .lh{border-bottom:1px solid var(--line);margin:0 4px 4px}
.arow{position:relative;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:8px;cursor:pointer;break-inside:avoid}
.arow:hover{background:var(--bar2)}
.arow .ic{width:24px;height:24px;flex:0 0 auto;border-radius:6px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700;overflow:hidden}
.arow .ic img{width:24px;height:24px;object-fit:contain}
.arow .nm{flex:1;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.arow .run{width:8px;height:8px;border-radius:50%;background:#2fb344;box-shadow:0 0 0 3px rgba(47,179,68,.22);flex:0 0 auto}
.arow .star{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:#6b6f7a;cursor:pointer;font-size:15px;opacity:0;flex:0 0 auto}
.arow:hover .star,.arow .star.on{opacity:1}
.arow .star.on{color:#ffd43b}
.arow .star:hover{background:var(--hover)}
.letters{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 6px;position:sticky;top:-16px;z-index:2;background:var(--panel);padding:6px 0}
.letters button{min-width:30px;height:30px;border:0;border-radius:7px;background:var(--bar2);color:var(--txt);cursor:pointer;font-weight:700;font-family:inherit;font-size:13px}
.letters button:hover{background:var(--accent);color:#fff}
html[dir=ltr] .arow .nm{text-align:left}
.arow .vend{font-size:11px;color:var(--muted);flex:0 0 auto}
.card .th{position:relative}
.card .kind{position:absolute;bottom:6px;right:6px;font-size:18px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.card.deleted{opacity:.75}
.card.deleted .acts{opacity:1}
.trashbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.libtabs{display:flex;gap:4px;background:var(--field);border-radius:10px;padding:3px}
.libtabs button{height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:0 12px;cursor:pointer;font-family:inherit;font-size:13.5px;white-space:nowrap}
.libtabs button.on{background:var(--accent);color:#fff;font-weight:700}

.durRow{display:flex;align-items:center;gap:8px;justify-content:space-between}
.durRow input{width:70px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--field);color:var(--txt);text-align:center;font-size:15px;font-family:inherit}
