/* مدرسة الخوارزميات — تصميم v3. الخط الأساسي Cairo (بيتحمّل من Google Fonts ويتخزّن للأوفلاين)، واحتياطيه خطوط الجهاز ثم الخط المرفق */
@font-face{font-family:"Madrasati";src:url(fonts/madrasati-regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Madrasati";src:url(fonts/madrasati-bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--bg:#0a1020;--s1:#121b31;--s2:#0d1527;--line:#223052;--t:#eaf0ff;--m:#8d9dc3;--g:#34d399;--g2:#10b981;--b:#60a5fa;--o:#fbbf24;--r:#fb7185;--rad:18px;
--font:"Cairo","Segoe UI","Noto Sans Arabic","SF Arabic",system-ui,Tahoma,"Madrasati",sans-serif}
*{box-sizing:border-box;margin:0;font-family:var(--font)}
html{-webkit-text-size-adjust:100%}
body{background:radial-gradient(900px 500px at 85% -10%,#1b3a6b55,transparent 60%),radial-gradient(700px 420px at -10% 10%,#10b98124,transparent 60%),var(--bg);background-attachment:fixed;color:var(--t);font:400 16px/1.65 var(--font);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);min-height:100vh}
.pad{padding:14px 16px 150px;max-width:640px;margin:auto;position:relative;z-index:1}
h1{font-size:28px;font-weight:800;line-height:1.3}h2{font-size:22px;font-weight:800;margin:6px 0 10px;line-height:1.4}
small{color:var(--m);font-size:13px}.err{color:var(--r);font-size:14px;margin-top:6px}
.ic{flex:none}
input,textarea,select{width:100%;padding:13px 14px;margin:6px 0;border-radius:14px;border:1px solid var(--line);background:var(--s2);color:var(--t);font-size:16px;transition:border-color .15s,box-shadow .15s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 3px #60a5fa33}
::placeholder{color:#5f7096}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;min-height:46px;border-radius:14px;border:1px solid var(--line);background:var(--s1);color:var(--t);font-size:15px;font-weight:700;cursor:pointer;transition:transform .08s,background .15s,border-color .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:hover{border-color:#34477a}button:active{transform:scale(.97)}
button:focus-visible,input:focus-visible{outline:2px solid var(--b);outline-offset:2px}
button.g,.av.g{background:linear-gradient(135deg,var(--g),var(--g2));color:#03231a;border-color:transparent;box-shadow:0 6px 18px #10b9812e}
button.b,.av.b{background:linear-gradient(135deg,#7dbbff,var(--b));color:#04162e;border-color:transparent}
button.o,.av.o{background:linear-gradient(135deg,#fcd34d,var(--o));color:#2b1b00;border-color:transparent}
button.r,.av.r{background:linear-gradient(135deg,#fda4af,var(--r));color:#3a0714;border-color:transparent}
.big{display:flex;width:100%;margin:7px 0;min-height:52px;font-size:16px}
.pad>button[data-a=back]{background:none;border:0;color:var(--m);padding:8px 2px;min-height:40px;margin-bottom:4px}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.hero{display:flex;justify-content:space-between;align-items:center;margin:6px 0 4px}
.brand{display:flex;align-items:center;gap:12px}.brand h1{margin:0}
.logo{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--g),#3b82f6);color:#04162e;box-shadow:0 8px 22px #34d39930}
.login{padding-top:9vh;text-align:center}.login .brand{flex-direction:column;margin-bottom:22px}.login .logo{width:72px;height:72px;border-radius:24px}.login input{text-align:start}
.who{color:var(--m);margin:0 0 12px}
.empty{text-align:center;color:var(--m);padding:34px 10px;border:2px dashed var(--line);border-radius:var(--rad);margin:12px 0}.empty p{margin-top:8px}
.badge{background:var(--r);color:#3a0714;border-radius:999px;padding:0 9px;font-size:13px;line-height:22px;font-weight:800}
.card{background:linear-gradient(180deg,#15203a,var(--s1));border-radius:var(--rad);padding:16px;margin:12px 0;border:1px solid var(--line);box-shadow:0 8px 24px #0006}
.cls{position:relative;overflow:hidden}.cls::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:5px;background:hsl(var(--h) 75% 60%)}
.ch{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ch b{display:block;font-size:19px;line-height:1.3}
.cav{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-weight:800;font-size:16px;background:hsl(var(--h) 70% 55% / .18);color:hsl(var(--h) 90% 75%);border:1px solid hsl(var(--h) 70% 55% / .4);direction:ltr;flex:none}
.card.dim{opacity:.55}.card.open{border-color:#3a4a73}.card.open.g{border-color:var(--g)}.card.open.b{border-color:var(--b)}.card.open.o{border-color:var(--o)}.card.open.r{border-color:var(--r)}
.cnt{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}
.cnt div{border-radius:16px;padding:10px 0;text-align:center;font-size:13px;font-weight:700;border:1px solid}
.cnt b{display:block;font-size:26px;line-height:1.2}
.cnt .g{background:#34d3991c;color:var(--g);border-color:#34d39955}.cnt .b{background:#60a5fa1c;color:var(--b);border-color:#60a5fa55}.cnt .o{background:#fbbf241c;color:var(--o);border-color:#fbbf2455}.cnt .r{background:#fb71851c;color:var(--r);border-color:#fb718555}
.ttl{min-width:0}.ttl h2{font-size:22px;margin:0}.top .av{flex:none;border-radius:50%;cursor:pointer;min-height:0;padding:0}.note{color:var(--m);font-size:14px}
.nt{margin-top:10px;padding:8px 10px;border-radius:12px;background:#ffffff0a;font-size:14px;line-height:1.7;color:#cfd9f7}.nt small{color:var(--b);font-weight:700}
.wm{position:fixed;top:-10px;inset-inline-start:-30px;direction:ltr;font:800 220px/1 monospace;color:var(--g);opacity:.05;pointer-events:none;z-index:0;transform:rotate(-8deg)}
.row{display:flex;align-items:center;gap:12px;margin-bottom:12px;cursor:pointer}.row b{flex:1;font-size:17px;font-weight:700}
.av{width:46px;height:46px;border-radius:15px;background:var(--s2);border:1px solid var(--line);display:grid;place-items:center;font-weight:800}
.btns,.chips{display:flex;gap:8px;flex-wrap:wrap}.btns button{flex:1}
.chips{margin-top:12px;align-items:center}.chips small{flex-basis:100%}.chips button{border-radius:999px;padding:8px 16px;min-height:40px}
.stars i{font-style:normal;color:var(--o);font-size:22px;cursor:pointer;padding:4px 2px}
.bar{position:fixed;bottom:0;inset-inline:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#0a1020d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);text-align:center;z-index:5}
.bi{display:flex;justify-content:space-between;gap:8px;max-width:640px;margin:0 auto 8px;padding:0 4px}.bi .w,small.w{color:var(--o)}
.bar button{width:100%;max-width:640px;min-height:54px;font-size:17px}
label{display:block;color:var(--m);margin-top:10px;font-size:14px;font-weight:600}[hidden]{display:none!important}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--s1);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;margin-top:10px}
th{background:#1a2744;color:var(--m);font-weight:700;font-size:13px}td,th{padding:10px 8px;border-bottom:1px solid var(--line);text-align:center}tr:last-child td{border-bottom:0}tbody tr:nth-child(even) td,tr:nth-child(even) td{background:#ffffff05}
.cr td:first-child,.cr th:first-child{text-align:start;font-weight:700}td.err{color:var(--r);font-weight:800;margin:0}
.ld{text-align:center;color:var(--m);margin-top:30vh}
#toast{position:fixed;inset-inline:16px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:420px;margin:auto;padding:12px 16px;border-radius:16px;background:linear-gradient(135deg,var(--g),var(--g2));color:#03231a;font-weight:800;text-align:center;z-index:40;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 10px 30px #0008}
#toast.show{opacity:1;transform:none}#toast.bad{background:linear-gradient(135deg,#fda4af,var(--r));color:#3a0714}
.mod{position:fixed;inset:0;background:#000b;backdrop-filter:blur(4px);display:grid;place-items:center;z-index:30;padding:16px}
.box{background:var(--s1);border-radius:22px;padding:20px;width:100%;max-width:400px;border:1px solid var(--line);box-shadow:0 20px 50px #000a}.box p{margin-bottom:10px;line-height:1.8}.box .btns{margin-top:12px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{body{background:#fff;color:#000}.bar,.chips,.btns,button,#toast,.wm,#net,.priv,.hero small{display:none!important}.card,table{background:#fff;color:#000;box-shadow:none;border-color:#999}th{background:#eee;color:#000}td,th{border-color:#999}h1,h2{color:#000}.nt{color:#000;background:#f3f3f3}small{color:#444}}

/* v3.1: خلفية مدرسية، بانر، ألوان لكل مادة */
body::before{content:"";position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' stroke='%23fff' stroke-opacity='.085' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate%2848 46%29'%3E%3Cellipse rx='19' ry='7'/%3E%3Cellipse rx='19' ry='7' transform='rotate%2860%29'/%3E%3Cellipse rx='19' ry='7' transform='rotate%28120%29'/%3E%3Ccircle r='2.5' fill='%2334d399' fill-opacity='.18' stroke='none'/%3E%3C/g%3E%3Cpath d='M140 38q11-6 22 0v24q-11-6-22 0zM162 38q11-6 22 0v24q-11-6-22 0z'/%3E%3Cg transform='rotate%2840 235 60%29'%3E%3Crect x='212' y='54' width='42' height='11' rx='2'/%3E%3Cpath d='M254 54l11 5.5-11 5.5M222 54v11'/%3E%3C/g%3E%3Cg transform='translate%2826 130%29'%3E%3Crect width='64' height='16' rx='2'/%3E%3Cpath d='M10 0v7M20 0v10M30 0v7M40 0v10M50 0v7'/%3E%3C/g%3E%3Ctext x='120' y='150' font-family='sans-serif' font-size='26' font-weight='700' fill='%23fff' fill-opacity='.07' stroke='none'%3EABC%3C/text%3E%3Cpath d='M232 150l4 9 10 1-7.5 6.500 2.500 9.500-9-5.500-9 5.500 2.500-9.500-7.500-6.500 10-1z' stroke='%23fbbf24' stroke-opacity='.2'/%3E%3Cg transform='translate%2852 232%29'%3E%3Ccircle r='14' stroke='%23fb7185' stroke-opacity='.2'/%3E%3Cpath d='M0-14c0-6 3-9 8-10' stroke='%2334d399' stroke-opacity='.22'/%3E%3C/g%3E%3Ctext x='118' y='244' font-family='serif' font-size='30' font-weight='700' fill='%23fff' fill-opacity='.07' stroke='none'%3E%CE%A3 %CF%80%3C/text%3E%3Cpath d='M235 222v18M226 231h18' stroke='%2360a5fa' stroke-opacity='.22'/%3E%3Cpath d='M170 110c0-9 12-9 12 0 0 5-6 6-6 12h0M176 130h.01' stroke='%23fbbf24' stroke-opacity='.18'/%3E%3C/svg%3E") ;background-size:280px;pointer-events:none;z-index:0}
.bart{width:100%;max-width:260px}.bart svg{width:100%;height:auto;display:block}
.banner{position:relative;overflow:hidden;border-radius:26px;padding:18px;margin:10px 0 16px;background:linear-gradient(135deg,#7c5cff,#ec4899 58%,#fb923c);color:#fff;box-shadow:0 14px 34px #ec489940;min-height:158px}
.banner::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 110%,#ffffff33,transparent 55%);pointer-events:none}
.bt{position:relative;z-index:1;max-width:60%}.banner h2{margin:0 0 4px;font-size:21px;color:#fff}.banner p{font-size:13px;line-height:1.7;opacity:.96}
.banner .bart{position:absolute;inset-block-end:-4px;inset-inline-end:-8px;width:56%;z-index:0}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pills span{background:#ffffff2e;backdrop-filter:blur(6px);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700}.pills b{font-size:15px}
.login .bart{margin:0 auto 4px;max-width:280px}.empty .bart{width:210px;max-width:80%;margin:0 auto}
.card.cls{background:linear-gradient(135deg,hsl(var(--h) 55% 22% / .75),var(--s1) 65%)}
.cls button.g{background:linear-gradient(135deg,hsl(var(--h) 90% 70%),hsl(var(--h) 85% 58%));color:#0a1020;box-shadow:0 6px 18px hsl(var(--h) 80% 55% / .3)}
.top>.cav{width:46px;height:46px;border-radius:15px;margin-inline-end:4px}
@media print{body::before,.banner{display:none!important}}

/* v3.3: حصص النهارده + الجدول الأسبوعي */
.sh{display:flex;justify-content:space-between;align-items:center;margin:8px 0 6px}.sh h3{font-size:19px;font-weight:800;display:flex;gap:8px;align-items:center}.sh button{min-height:36px;padding:6px 12px;font-size:13px}
.prog{height:9px;border-radius:99px;background:#ffffff14;overflow:hidden;margin:6px 0 4px}.prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--g),var(--b),#a78bfa);transition:width .8s}
.tlw{margin:12px 0 4px}.tl{position:relative;display:flex;gap:12px;padding-bottom:12px}
.tl::before{content:"";position:absolute;inset-inline-start:19px;top:42px;bottom:-4px;width:2px;background:repeating-linear-gradient(#ffffff2e 0 4px,transparent 4px 9px)}.tl:last-child::before{display:none}
.nd{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:hsl(var(--h) 70% 55% / .2);color:hsl(var(--h) 90% 78%);border:2px solid hsl(var(--h) 70% 55% / .65);z-index:1;background-clip:padding-box}
.tl.done .nd{background:hsl(var(--h) 75% 62%);color:#0a1020;border-color:transparent}
.tl.next .nd{animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 hsl(var(--h) 90% 60% / .65)}70%{box-shadow:0 0 0 13px transparent}100%{box-shadow:0 0 0 0 transparent}}
.tc{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:18px;background:linear-gradient(135deg,hsl(var(--h) 55% 22% / .75),var(--s1) 72%);border:1px solid hsl(var(--h) 60% 50% / .35)}
.tl.next .tc{border-color:hsl(var(--h) 90% 66%);box-shadow:0 8px 26px hsl(var(--h) 80% 50% / .28)}.tl.done .tc{opacity:.62}
.tt{min-width:0}.tt b{display:block;font-size:17px;line-height:1.5}.tag{display:inline-block;background:hsl(var(--h) 90% 72%);color:#0a1020;border-radius:99px;padding:0 9px;font-size:11px;font-weight:800;margin-inline-start:8px;vertical-align:2px}
.tc button{min-height:40px;padding:8px 14px;flex:none}.tl button.g{background:linear-gradient(135deg,hsl(var(--h) 90% 72%),hsl(var(--h) 85% 58%));color:#0a1020}
.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.legend span{padding:4px 12px;border-radius:99px;font-size:13px;font-weight:700;background:hsl(var(--h) 60% 40% / .25);border:1px solid hsl(var(--h) 70% 55% / .5)}
.pick{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto}.pick button{justify-content:flex-start;background:hsl(var(--h) 60% 30% / .5);border-color:hsl(var(--h) 70% 55% / .5)}

/* v3.4: الاسم الجديد + حصص النهارده + الجدول الأسبوعي */
.brand h1 span{display:block;font-size:.56em;font-weight:700;color:var(--g);line-height:1.3;margin-top:1px}
.hero .brand h1{font-size:22px;line-height:1.25}.hero .brand small{display:block;margin-top:3px}
.login .brand h1{font-size:27px;line-height:1.35}.login .brand h1 span{font-size:.6em}
.empty.sm{padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff06}
.empty.sm b{color:var(--t);font-size:17px}.empty.sm p{margin:0 0 12px;max-width:30ch}.empty.sm button{min-height:46px;padding:10px 24px}
.eic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;margin-bottom:6px;color:var(--g);background:linear-gradient(135deg,#34d39922,#60a5fa22);border:1px solid #34d39944}
.dsum{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;margin:8px 0 6px;padding:14px 16px;border-radius:20px;background:linear-gradient(135deg,#1b2a4d,var(--s1));border:1px solid var(--line)}
.dtx b{display:block;font-size:17px;line-height:1.4}.dpc{font-size:26px;font-weight:800;color:var(--g)}.dsum .prog{grid-column:1/-1;margin:8px 0 0}
.tc{border-inline-start:4px solid hsl(var(--h) 80% 62%)}.tt small{display:block}
.chip{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:1px 10px;border-radius:99px;font-size:11px;font-weight:800}
.cdn{background:#34d3991f;color:var(--g)}.cdg{background:#fbbf2420;color:var(--o)}.cnx{background:hsl(var(--h) 90% 72%);color:#0a1020}
.dtabs{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:14px 0 6px}
.dt{flex-direction:column;gap:4px;min-height:60px;padding:8px 0;border-radius:14px;font-size:12px;font-weight:800;color:var(--m)}
.dt i{font-style:normal;min-width:20px;height:20px;line-height:20px;border-radius:99px;font-size:11px;background:#ffffff14;color:var(--t)}.dt i.z{background:none}
.dt.now{border-color:var(--g);color:var(--g)}
.dt.on{background:linear-gradient(135deg,var(--g),var(--g2));color:#03231a;border-color:transparent;box-shadow:0 6px 16px #10b9813a}.dt.on i{background:#03231a29;color:#03231a}
.dh{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:16px 0 8px}.dh h3{font-size:20px;font-weight:800;display:flex;align-items:center;gap:8px}
.nowt{background:var(--g);color:#03231a;border-radius:99px;padding:0 10px;font-size:11px;font-weight:800}
.pl{display:flex;flex-direction:column;gap:8px}
.pr{width:100%;justify-content:flex-start;gap:12px;min-height:62px;padding:8px 12px;border-radius:16px;text-align:start;background:linear-gradient(135deg,hsl(var(--h) 55% 22% / .75),var(--s1) 72%);border:1px solid hsl(var(--h) 60% 50% / .4);border-inline-start:4px solid hsl(var(--h) 80% 62%)}
.pn{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:hsl(var(--h) 70% 55% / .22);color:hsl(var(--h) 90% 80%)}
.px{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.px b{font-size:16px;line-height:1.4}.px small{font-weight:600}.pi{flex:none;color:hsl(var(--h) 90% 75%)}
.pr.e{--h:220;background:transparent;border:1px dashed #2c3d68}.pr.e .pn{background:#ffffff0c;color:var(--m)}.pr.e em{font-style:normal;color:#5f7096;font-size:14px;font-weight:600}.pr.e>.ic{color:#4a5d8e}
.mini{display:grid;grid-template-columns:22px repeat(7,1fr);gap:4px;margin:8px 0 14px;padding:12px 10px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.md{text-align:center;font-size:11px;font-weight:800;color:var(--m);padding:3px 0;border-radius:8px}.md.now{color:var(--g)}.md.on{background:#ffffff14;color:var(--t)}
.mp{display:grid;place-items:center;font-size:11px;font-weight:800;color:#5f7096}
.mc{height:28px;border-radius:9px;display:grid;place-items:center;background:hsl(var(--h) 60% 32% / .65);color:hsl(var(--h) 90% 88%)}.mc.e{background:#ffffff08}.mc.on{outline:1px solid #ffffff3a}

/* v3.5: دخول بجوجل فقط */
.gbtn{background:#fff;color:#1f2937;border-color:#fff;min-height:58px;font-size:17px;margin-top:20px;box-shadow:0 10px 26px #0006}.gbtn:hover{border-color:#fff;background:#f3f6ff}
.lnote{display:block;margin-top:10px;line-height:1.7}
.lnk{background:none;border:0;color:var(--b);min-height:44px;margin:4px 0 0;font-size:15px}.lnk:hover{border:0;text-decoration:underline}
