@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:100 900;font-display:swap;
src:url("../fonts/Vazirmatn-Variable.woff2") format("woff2"),
url("https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/webfonts/Vazirmatn%5Bwght%5D.woff2") format("woff2")}
:root{--ink:#1f2d5a;--ink2:#3a4a7a;--paper:#eef3fb;--card:#fff;--line:#dbe2f0;--text:#18233f;--muted:#62708f;
--teal:#0f8b8d;--teal-d:#0b6b6d;--teal-l:#e0f4f3;--amber:#f2a62b;--amber-l:#fff3d9;--rose:#cf4558;--rose-l:#fdebee;--leaf:#2b9a68;--leaf-l:#e3f6ec;
--coral:#ee7a63;--coral-l:#ffece7;--violet:#7a55d1;--violet-l:#eee8ff;--sky:#3b7de0;--sky-l:#e4efff;
--ac:#1f9aa0;--ac-d:#0b6b78;--ac-l:#def3f4;--ac2:#4cc3b5;
--sh:0 1px 2px rgba(31,45,90,.06),0 12px 28px -16px rgba(31,45,90,.28);--font:"Vazirmatn",Tahoma,"Segoe UI",sans-serif}
/* رنگ هر بخش سایت */
.sec-home{--ac:#1f9aa0;--ac-d:#0b6b78;--ac-l:#def3f4;--ac2:#4cc3b5}
.sec-exams{--ac:#5b61d6;--ac-d:#3b3fa8;--ac-l:#e7e8ff;--ac2:#8c8cf0}
.sec-qs{--ac:#7a55d1;--ac-d:#5836a8;--ac-l:#eee8ff;--ac2:#a58af0}
.sec-res{--ac:#21a07a;--ac-d:#126b50;--ac-l:#def5ec;--ac2:#54cfa3}
.sec-grade{--ac:#e0684f;--ac-d:#b0412b;--ac-l:#ffe9e3;--ac2:#f4a07e}
.sec-people{--ac:#2f74e0;--ac-d:#1c4fa8;--ac-l:#e1ecff;--ac2:#6fa5f5}
.sec-bank{--ac:#0c8fb5;--ac-d:#0a5f80;--ac-l:#dff3fa;--ac2:#4fc3de}
.sec-lib{--ac:#d9630f;--ac-d:#a8460a;--ac-l:#ffeadb;--ac2:#f59a52}
.sec-settings{--ac:#5b6b8f;--ac-d:#2c3858;--ac-l:#e8ecf6;--ac2:#8da0d0}
.sec-me{--ac:#d3457a;--ac-d:#a02a58;--ac-l:#ffe6ef;--ac2:#f08fb2}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--paper);color:var(--text);line-height:1.9;font-size:15.5px;min-height:100vh;display:flex;flex-direction:column}
body.app{background-color:#edf2fb;background-image:linear-gradient(rgba(63,95,174,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(63,95,174,.07) 1px,transparent 1px);background-size:28px 28px}
a{color:var(--ac-d);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:1.55rem;line-height:1.5;margin:0 0 .4rem;font-weight:800;letter-spacing:-.01em}
h2{font-size:1.12rem;margin:0 0 .6rem;font-weight:800}h3{font-size:1rem;margin:0 0 .4rem}
p{margin:.3rem 0 .8rem}hr{border:0;border-top:1px solid var(--line);margin:1rem 0}
.muted{color:var(--muted)}.center{text-align:center}.grow{flex:1}.ltr{direction:ltr;unicode-bidi:embed}
.skip{position:absolute;right:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{right:8px;top:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
/* نوار بالا */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.8rem;background:linear-gradient(90deg,#1b2850,#27397a);color:#fff;padding:.55rem 1.1rem;min-height:58px;box-shadow:0 6px 18px -10px #0b1330}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;font-size:1.1rem}.brand:hover{text-decoration:none}
.brand .mark{display:inline-flex;gap:3px;background:#ffffff1f;padding:6px 7px;border-radius:9px}
.brand .mark i{width:9px;height:9px;border-radius:50%;border:2px solid #fff9;display:block}.brand .mark i.on{background:var(--amber);border-color:var(--amber)}
.topbar .today{font-size:.85rem;color:#c9d2e6}.who{font-size:.9rem}.who small{color:#9fb0d0;margin-right:.3rem}
.topbar .btn.ghost{color:#fff;border-color:#ffffff40}
/* قاب اصلی */
.shell{display:grid;grid-template-columns:252px 1fr;flex:1;min-height:0}
.side{background:linear-gradient(180deg,#fff,#f4f8ff);border-left:1px solid var(--line);padding:1rem .85rem;position:sticky;top:58px;align-self:start;height:calc(100vh - 58px);overflow:auto}
.me-card{display:flex;align-items:center;gap:.7rem;padding:.75rem;margin-bottom:1rem;border-radius:18px;background:var(--ac-l);border:1px solid color-mix(in srgb,var(--ac) 20%,#fff)}
.avatar{flex:none;width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.1rem;background:linear-gradient(135deg,var(--ac),var(--ac2))}
.me-t{min-width:0;line-height:1.5}.me-t b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-t small{color:var(--muted)}
.side nav{display:grid;gap:.25rem}
.side a{display:flex;align-items:center;gap:.7rem;padding:.45rem .6rem;border-radius:14px;color:var(--ink2);font-weight:700}
.side a:hover{background:#fff;text-decoration:none;box-shadow:var(--sh)}
.ni{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--cl);color:var(--c)}
.ni svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.side a.active{background:var(--c);color:#fff;box-shadow:0 10px 20px -12px var(--c)}
.side a.active .ni{background:#ffffff30;color:#fff}
.n-home{--c:#1f9aa0;--cl:#def3f4}.n-exams{--c:#5b61d6;--cl:#e7e8ff}.n-res{--c:#21a07a;--cl:#def5ec}.n-grade{--c:#e0684f;--cl:#ffe9e3}.n-users{--c:#2f74e0;--cl:#e1ecff}.n-classes{--c:#d4900f;--cl:#fff1d1}.n-me{--c:#d3457a;--cl:#ffe6ef}.n-settings{--c:#5b6b8f;--cl:#e8ecf6}.n-lib{--c:#d9630f;--cl:#ffeadb}.n-bank{--c:#0c8fb5;--cl:#dff3fa}
.main{padding:1.4rem 1.6rem 4rem;min-width:0;max-width:1180px;width:100%}
body.public main{flex:1;width:100%}
.bottomnav{display:none}
.sitefoot{text-align:center;color:var(--muted);padding:1.5rem;font-size:.85rem}
/* سربرگ صفحه (نوار رنگی هر بخش) */
.pagehead{position:relative;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.2rem;padding:1.3rem 1.6rem;border-radius:24px;color:#fff;
background:radial-gradient(circle at 10% 125%,#ffffff38 0 110px,transparent 111px),radial-gradient(circle at 97% -35%,#ffffff2b 0 150px,transparent 151px),repeating-linear-gradient(0deg,#ffffff14 0 1px,transparent 1px 27px),linear-gradient(115deg,var(--ac-d),var(--ac) 68%,var(--ac2));
box-shadow:0 18px 32px -20px var(--ac-d)}
.pagehead>div:first-child{flex:1;min-width:200px}
.pagehead h1{color:#fff;margin:0;text-shadow:0 1px 0 #0002}
.pagehead .muted,.pagehead .hint{color:#ffffffd9}
.pagehead a:not(.btn){color:#fff;text-decoration:underline}
.pagehead .dd-menu a{color:var(--text);text-decoration:none}
.pagehead .dd-menu a b{color:var(--ac-d)}
.pagehead .btn{border-color:#ffffff66;box-shadow:none}
.pagehead .btn.primary{background:#fff;color:var(--ac-d);border-color:#fff}
.pagehead .btn.primary:hover{background:#fff;filter:brightness(.97)}
.pagehead .btn.danger{background:#fff;color:var(--rose)}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
/* کارت‌ها و شبکه‌ها */
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:var(--sh)}
.card>h2:first-child::before{content:"";display:inline-block;width:6px;height:1.15em;border-radius:3px;background:linear-gradient(180deg,var(--ac),var(--ac2));margin-left:.55rem;vertical-align:-.2em}
.card.narrow{max-width:560px}.card+.card,.grid+.card,.card+.grid{margin-top:1rem}
.sec-h{margin:1.4rem 0 .7rem}
.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 320px;gap:1rem;align-items:start}
.stat{--sl:#def3f4;--sd:#0b6b78;--sc:#4cc3b5;position:relative;overflow:hidden;padding:1rem 1.2rem;border-radius:18px;background:var(--sl);border:1px solid color-mix(in srgb,var(--sc) 35%,#fff)}
.stat::after{content:"";position:absolute;left:-26px;top:-26px;width:96px;height:96px;border-radius:50%;background:var(--sc);opacity:.28}
.stat b{position:relative;display:block;font-size:1.8rem;line-height:1.35;color:var(--sd);font-weight:900}.stat span{position:relative;color:#3e4b6c;font-size:.88rem;font-weight:600}
.stat.a{--sl:#fff1d1;--sd:#9a5a00;--sc:#f2a62b}.stat.r{--sl:#ffe6e0;--sd:#a83a25;--sc:#ee7a63}.stat.i{--sl:#e7e8ff;--sd:#3b3fa8;--sc:#8c8cf0}
.stat b.fname{font-size:1rem;line-height:1.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* دکمه‌ها */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:700;border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:.55rem 1.1rem;border-radius:12px;cursor:pointer;line-height:1.6;min-height:42px;transition:transform .12s,box-shadow .12s,border-color .12s}
.btn:hover{text-decoration:none;border-color:var(--ac);transform:translateY(-1px)}
.btn.primary{background:linear-gradient(180deg,var(--ac),var(--ac-d));border-color:var(--ac-d);color:#fff;box-shadow:0 10px 18px -12px var(--ac-d)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.danger{color:var(--rose);border-color:#f0c3ca}.btn.danger:hover{background:var(--rose-l);border-color:var(--rose)}
.btn.ghost{background:transparent}.btn.sm{min-height:34px;padding:.2rem .8rem;font-size:.88rem;border-radius:10px}.btn.block{width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
/* منوی کشویی دانلود */
.dd{position:relative}.dd summary{list-style:none}.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-right:.2rem}
.dd-menu{position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:280px;max-width:calc(100vw - 2rem);background:#fff;color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 40px -18px #1f2d5a88;padding:.4rem;z-index:60}
.dd-menu a{display:block;padding:.6rem .8rem;border-radius:12px;color:var(--text);text-decoration:none!important}
.dd-menu a:hover{background:var(--ac-l)}.dd-menu a b{display:block;color:var(--ac-d)}.dd-menu a span{display:block;font-size:.8rem;color:var(--muted);line-height:1.6}
/* برچسب‌ها */
.chip{display:inline-block;padding:.05rem .7rem;border-radius:99px;font-size:.8rem;font-weight:700;background:#e9edf6;color:var(--ink2);white-space:nowrap}
.chip.ok{background:var(--leaf-l);color:#16623d}.chip.warn{background:var(--amber-l);color:#8a5a00}.chip.bad{background:var(--rose-l);color:#a02a3b}.chip.info{background:var(--teal-l);color:var(--teal-d)}
.chip.soft{background:#fff3d9;color:#8a5a00}
.tp-mcq{background:#e7e8ff!important;color:#3b3fa8!important}.tp-multi{background:#eee8ff!important;color:#5836a8!important}.tp-tf{background:#dcf5f2!important;color:#0b6b6d!important}
.tp-short{background:#fff1d1!important;color:#8a5a00!important}.tp-numeric{background:#e1ecff!important;color:#1c4fa8!important}.tp-essay{background:#ffe6e0!important;color:#a83a25!important}
.flash{padding:.7rem 1rem;border-radius:14px;margin:0 0 1rem;background:var(--leaf-l);color:#16623d;border:1px solid #bfe5d0}
.flash.bad{background:var(--rose-l);color:#8f2434;border-color:#f3c5cc}
.flash.warn{background:var(--amber-l);border-color:#f2d9a0;color:#7a5100}
body.public .flash{max-width:1100px;margin:1rem auto}
/* فرم‌ها */
.stack{display:grid;gap:.9rem}label{display:grid;gap:.3rem;font-weight:700;font-size:.92rem}label.inline{display:flex;align-items:center;gap:.5rem;font-weight:500}
input,select,textarea{font:inherit;width:100%;padding:.55rem .8rem;border:1.5px solid #cfd8ea;border-radius:12px;background:#fbfcff;color:var(--text);min-height:44px}
input:focus,select:focus,textarea:focus{border-color:var(--ac);background:#fff;outline:3px solid color-mix(in srgb,var(--ac) 22%,transparent)}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--ac);transform:scale(1.15)}
textarea{min-height:110px;resize:vertical}
input[type=file]{padding:.45rem .6rem;background:#fff}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem}
.jdate{display:flex;gap:.4rem;flex-wrap:wrap}.jdate select{width:auto;flex:1;min-width:76px}.jdate input{width:auto;flex:1;min-width:104px}
.hint{font-size:.82rem;color:var(--muted);font-weight:400}
.authwrap{display:grid;place-items:center;padding:2.2rem 1rem;flex:1;background:radial-gradient(circle at 15% 10%,#d9ecff 0 180px,transparent 181px),radial-gradient(circle at 88% 85%,#e9defc 0 220px,transparent 221px),linear-gradient(180deg,#f3f7ff,#eef3fb)}
.authcard{width:100%;max-width:430px;border-top:6px solid var(--teal);border-radius:22px}
/* جدول‌ها */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--sh)}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{padding:.7rem .95rem;text-align:right;border-bottom:1px solid #e8edf7;vertical-align:middle}
th{background:var(--ac-l);color:var(--ac-d);font-weight:800;white-space:nowrap}
tbody tr:nth-child(even){background:#f8faff}tbody tr:hover{background:color-mix(in srgb,var(--ac-l) 60%,#fff)}tr:last-child td{border-bottom:0}
td.act{white-space:nowrap}td.act form{display:inline}
.empty{text-align:center;padding:1.6rem 1rem 2rem;color:var(--muted)}
.empty::before{content:"";display:block;width:132px;height:96px;margin:0 auto .7rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 96'%3E%3Cellipse cx='66' cy='88' rx='46' ry='5' fill='%231f2d5a' opacity='.1'/%3E%3Crect x='30' y='8' width='64' height='76' rx='10' fill='%23fff' stroke='%23c6d3ee' stroke-width='3'/%3E%3Crect x='42' y='24' width='30' height='6' rx='3' fill='%23b9c6e6'/%3E%3Crect x='42' y='38' width='40' height='5' rx='2.5' fill='%23dbe3f4'/%3E%3Crect x='42' y='50' width='34' height='5' rx='2.5' fill='%23dbe3f4'/%3E%3Crect x='42' y='62' width='24' height='5' rx='2.5' fill='%23dbe3f4'/%3E%3Ccircle cx='100' cy='24' r='15' fill='%23ffd166'/%3E%3Cpath d='M100 15v18M91 24h18' stroke='%23fff' stroke-width='4.5' stroke-linecap='round'/%3E%3Ccircle cx='22' cy='58' r='6' fill='%23a58af0' opacity='.7'/%3E%3C/svg%3E") center/contain no-repeat}
.empty-act{margin-top:.8rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
/* کارت آزمون */
.examlist{display:grid;gap:.9rem}
.excard{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;align-items:center;padding:1rem 1.2rem;border-radius:20px;background:#fff;border:1px solid var(--line);border-right:8px solid #c9d3ea;box-shadow:var(--sh)}
.excard.open{border-right-color:var(--leaf);background:linear-gradient(270deg,#effaf4,#fff 45%)}.excard.upcoming{border-right-color:var(--amber);background:linear-gradient(270deg,#fff8e8,#fff 45%)}
.excard h3{margin:0 0 .2rem;font-size:1.05rem}.meta{display:flex;gap:.4rem 1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
/* تقویم */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.cal-head a{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--ac-l);font-size:1.3rem;color:var(--ac-d)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-w{font-size:.78rem;color:var(--muted);font-weight:700}.fri{color:var(--rose)}
.cal-d{display:block;text-decoration:none!important;position:relative;padding:.3rem 0;border-radius:10px;font-size:.88rem}
.cal-d.today{background:linear-gradient(135deg,var(--ac),var(--ac-d));color:#fff}.cal-d.mark::after{content:"";position:absolute;bottom:2px;left:50%;margin-left:-3px;width:6px;height:6px;border-radius:50%;background:var(--amber)}
/* صفحه اصلی (ورودی) */
.hero{background:var(--ink);color:#fff;padding:3.2rem 1.2rem 3.6rem}
.hero-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.hero h1{font-size:2.25rem;line-height:1.55;font-weight:900}.hero p{color:#c9d2e6;font-size:1.05rem;max-width:34rem}
.hero .btns{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.hero .btn.ghost{color:#fff;border-color:#ffffff55}.hero .btn.primary{--ac:#0f8b8d;--ac-d:#0b6b6d}
.sheet{background:#fbfbf8;color:var(--ink);border-radius:14px;padding:1.2rem 1.3rem;box-shadow:0 24px 50px -20px #000a;transform:rotate(-1.6deg);position:relative}
.sheet header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px dashed #c9cfdf;padding-bottom:.6rem;margin-bottom:.5rem;font-weight:800}
.sheet .tm{background:var(--amber);color:#3a2600;padding:.05rem .7rem;border-radius:99px;font-size:.9rem}
.omr{display:grid;grid-template-columns:2rem repeat(4,1fr);align-items:center;gap:.2rem;padding:.38rem 0;border-bottom:1px dotted #d6dae6;text-align:center}
.omr b{color:var(--muted)}.omr span{font-size:.72rem;color:var(--muted)}
.omr i{display:block;width:26px;height:26px;border:2px solid var(--ink2);border-radius:50%;margin:.1rem auto}.omr i.on{background:var(--ink)}
.feat{max-width:1100px;margin:0 auto;padding:3rem 1.2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 2rem}
.feat div{border-right:4px solid var(--teal);padding-right:1rem}.feat div:nth-child(3n+2){border-right-color:var(--amber)}.feat div:nth-child(3n){border-right-color:var(--ink2)}
.feat h3{margin-bottom:.2rem}.feat p{color:var(--muted);margin:0}
/* فهرست سوال‌ها (دبیر) */
.typechips{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .9rem}
.qlist{display:grid;gap:.6rem}
.qrow{--tc:#5b61d6;--tl:#e7e8ff;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;padding:.8rem 1rem;border-radius:18px;background:#fff;border:1px solid var(--line);border-right:6px solid var(--tc);box-shadow:var(--sh)}
.qt-mcq{--tc:#5b61d6;--tl:#e7e8ff}.qt-multi{--tc:#7a55d1;--tl:#eee8ff}.qt-tf{--tc:#1f9aa0;--tl:#dcf5f2}.qt-short{--tc:#e0a020;--tl:#fff1d1}.qt-numeric{--tc:#2f74e0;--tl:#e1ecff}.qt-essay{--tc:#e0684f;--tl:#ffe6e0}
.qno{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:var(--tl);color:var(--tc)}
.qtext{min-width:0}.qpre{font-weight:600;overflow-wrap:anywhere}.qmeta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.2rem;font-size:.82rem;color:var(--muted)}
.qact{display:flex;gap:.4rem;align-items:center}.qact form{display:inline}
/* ورود گروهی از اکسل */
.import-grid{align-items:start}.step{display:flex;gap:1rem;align-items:flex-start}
.stepn{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,var(--ac),var(--ac2))}
.dropzone{display:grid;gap:.2rem;place-items:center;text-align:center;padding:1.2rem 1rem;border:2px dashed color-mix(in srgb,var(--ac) 55%,#fff);border-radius:18px;background:var(--ac-l);cursor:pointer}
.dropzone:hover{background:color-mix(in srgb,var(--ac-l) 70%,#fff)}.dz-t{font-weight:800;color:var(--ac-d)}.dropzone input{background:#fff;max-width:420px}
.tips{margin:.2rem 0 .8rem;padding-right:1.2rem}.tips li{margin-bottom:.35rem}
.issues ul{list-style:none;margin:.3rem 0 .7rem;padding:0;display:grid;gap:.35rem}
.import-sum{margin-bottom:1rem}
/* ===== صفحه آزمون: محیط آرام و بدون حواس‌پرتی ===== */
body.exam{background:linear-gradient(180deg,#e8f3ff 0%,#f0edff 55%,#e9f8f1 100%);background-attachment:fixed}
body.exam .topbar{background:#ffffffd9;backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 #d9e3f5;position:static}
body.exam .brand{color:var(--ink)}body.exam .brand .mark i{border-color:#1f2d5a66}body.exam .brand .mark{background:#1f2d5a14}
body.exam main{flex:1;width:100%}
.ex-main{max-width:1080px;margin:0 auto;padding:1rem 1rem 5rem}
.ex-bar{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 -1rem 1rem;padding:.7rem 1rem;background:#f2f6ffeb;backdrop-filter:blur(10px);border-bottom:1px solid #d9e3f5}
.ex-title{flex:1;min-width:220px}.ex-title h1{font-size:1.2rem;margin:0}.ex-title p{margin:0;color:var(--muted);font-size:.86rem}
.ex-timer{display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid #cfe0f7;border-radius:18px;padding:.35rem .5rem .35rem .9rem;box-shadow:0 8px 18px -14px #1f2d5a}
.ex-timer svg{width:24px;height:24px;stroke:#3b7de0;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ex-timer small{display:block;color:var(--muted);font-size:.72rem;line-height:1.4}.ex-timer strong{display:block;font-size:1.35rem;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--ink)}
.ex-tt{font:inherit;font-size:.78rem;font-weight:700;border:1px solid #cfe0f7;background:#f3f8ff;color:var(--ink2);border-radius:12px;padding:.2rem .7rem;cursor:pointer}
.ex-timer.low{background:#fff7e3;border-color:#f3d28a}.ex-timer.low svg{stroke:#c98308}
.ex-timer.hidden strong{letter-spacing:.2em;color:#9aa8c6}
.ex-progress{display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem}
.pbar{flex:1;height:12px;background:#dfe8f7;border-radius:99px;overflow:hidden}.pbar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#4cc3b5,#3b7de0);transition:width .4s ease}
#ptext{font-size:.86rem;color:var(--ink2);font-weight:700;white-space:nowrap}
.exam-wrap{display:grid;grid-template-columns:1fr 270px;gap:1.2rem;align-items:start}
.exam-aside{position:sticky;top:96px}
.exam-aside .card{border-radius:22px;border-color:#d4e2f7}
.exam-aside h2{font-size:.95rem}
.qnav{display:flex;flex-wrap:wrap;gap:8px}
.qnav a{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;border:2px solid #c9d8f2;background:#fff;color:var(--ink2);font-weight:800;font-size:.9rem}
.qnav a:hover{text-decoration:none;border-color:#7ea6e8}
.qnav a.done{background:#dff5ec;border-color:#7fcfae;color:#146a46}
.qnav a.cur{box-shadow:0 0 0 3px #fff,0 0 0 6px #3b7de0aa;border-color:#3b7de0}
.qnav a.flag::after{content:"";position:absolute;top:-5px;left:-5px;width:13px;height:13px;border-radius:50%;background:#f2b13c;border:2px solid #fff}
.legend{display:grid;gap:.25rem;margin-top:.8rem;font-size:.78rem;color:var(--muted)}.legend span{display:flex;align-items:center;gap:.45rem}
.legend i{width:14px;height:14px;border-radius:5px;border:2px solid #c9d8f2;background:#fff;display:inline-block}.legend i.d{background:#dff5ec;border-color:#7fcfae}.legend i.f{background:#f2b13c;border-color:#f2b13c;border-radius:50%}
.savemsg{font-size:.82rem;color:var(--muted);min-height:1.4em}
.q{margin-bottom:1.1rem;scroll-margin-top:130px;border-radius:26px;padding:1.5rem 1.6rem 1.7rem;border:1px solid #d7e3f7;background:#fff;box-shadow:0 22px 36px -28px #1f2d5a}
.qh{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}
.qh .qn{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:1rem;color:var(--ink)}
.card.review .qh .qn{color:var(--ink2)}
.qh .qn b{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#dfe9ff,#ece4ff);color:#3b3fa8;font-size:1.05rem}
.qh .qn small{color:var(--muted);font-weight:600}
.qpts{font-size:.8rem;font-weight:700;color:#3b6fbf;background:#e8f1ff;border-radius:99px;padding:.05rem .75rem}
.flagbtn{margin-right:auto;font:inherit;font-size:.85rem;border:1.5px solid #d7e3f7;background:#fff;border-radius:99px;padding:.2rem .9rem;cursor:pointer;color:var(--muted)}
.flagbtn:hover{border-color:#f2b13c}.flagbtn.on{background:#fff4d8;border-color:#f2b13c;color:#8a5a00;font-weight:700}
.qb{font-size:1.02rem;white-space:pre-wrap}
.q .qb{font-size:1.2rem;line-height:2.2;color:#15213f}
.qb.rich{white-space:normal}
.qimg{max-width:100%;max-height:360px;border-radius:16px;margin:.7rem 0;border:1px solid var(--line)}
.opts{display:grid;gap:.65rem;margin-top:1rem}
.opt{position:relative;display:flex;align-items:center;gap:.9rem;padding:.75rem .95rem;border:2px solid #dde7f8;border-radius:18px;cursor:pointer;font-weight:500;background:#fbfdff;font-size:1.05rem;transition:border-color .15s,background .15s,box-shadow .15s}
.opt:hover{border-color:#9dbdf0;background:#f4f8ff}
.opt input{position:absolute;opacity:0;pointer-events:none}
.bubble{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid #b7c9ea;background:#fff;display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#51648f;transition:background .15s,border-color .15s,color .15s}
.opts.multi .bubble{border-radius:12px}
.opt:has(input:checked){border-color:#3fae93;background:#eaf8f3;box-shadow:0 10px 20px -16px #1f9a7a}
.opt input:checked+.bubble{background:#2fa383;border-color:#2fa383;color:#fff}
.opt:has(input:focus-visible){outline:3px solid #f2b13c;outline-offset:2px}
.opt .rich{flex:1;min-width:0}
.q textarea,.q input[type=text]{font-size:1.05rem;border-radius:16px;border-color:#cfe0f7;background:#fbfdff}
.q textarea{min-height:150px}
.hint.multi-h{margin-top:.5rem;color:#3b6fbf}
.wiznav{display:none;gap:.7rem;justify-content:space-between;align-items:center;margin:.2rem 0 1rem}
.wiznav .btn{min-height:48px;padding:.5rem 1.4rem;border-radius:16px}
.finishrow{margin-top:1rem}
.finishrow .btn{min-height:52px;border-radius:18px;font-size:1.02rem}
body.wizard .q{display:none}body.wizard .q.cur{display:block;animation:qin .28s ease}
body.wizard .wiznav{display:flex}body.wizard .finishrow{display:none}
@keyframes qin{from{opacity:.0;transform:translateY(6px)}to{opacity:1;transform:none}}
.viewbtn{margin-top:.8rem;width:100%}
/* پنجره‌ی ارسال نهایی */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#1f2d5a66;backdrop-filter:blur(3px)}
.modal[hidden]{display:none}
.modal-box{width:100%;max-width:480px;background:#fff;border-radius:26px;padding:1.5rem;box-shadow:0 40px 70px -30px #0b1330;max-height:90vh;overflow:auto}
.modal-box h2{font-size:1.2rem}
.fm-sum{display:flex;gap:.6rem;margin:.8rem 0}.fm-sum div{flex:1;text-align:center;padding:.6rem .3rem;border-radius:16px;background:#eef4ff}.fm-sum b{display:block;font-size:1.4rem;line-height:1.4;color:var(--ink)}.fm-sum span{font-size:.78rem;color:var(--muted)}
.fm-sum .ok{background:#e3f6ec}.fm-sum .warn{background:#fff3d9}
.fm-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 .8rem}
.fm-list button{font:inherit;font-weight:700;width:40px;height:40px;border-radius:13px;border:2px solid #f3d28a;background:#fff8e6;color:#8a5a00;cursor:pointer}
.modal-act{display:grid;gap:.5rem;margin-top:.6rem}.modal-act .btn{min-height:48px;border-radius:16px}
.toast{position:fixed;bottom:1.2rem;right:50%;transform:translateX(50%);z-index:90;max-width:min(92vw,460px);background:#1f2d5a;color:#fff;border-radius:18px;padding:.75rem 1.1rem;box-shadow:0 20px 40px -18px #0b1330;font-weight:600;line-height:1.8;text-align:center}
.toast[hidden]{display:none}
.timeup{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:#f2f6ffee;text-align:center;padding:2rem;font-weight:800;font-size:1.2rem;color:var(--ink)}
.timeup[hidden]{display:none}
/* مقدمه‌ی آزمون */
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;align-items:start}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin:.8rem 0 1rem}
.fact{padding:.7rem .9rem;border-radius:16px;background:var(--ac-l)}.fact span{display:block;font-size:.8rem;color:var(--muted)}.fact b{font-size:1.02rem;color:var(--ac-d)}
.calm{background:linear-gradient(160deg,#e8f6f1,#eef3ff);border:1px solid #cfe6dd}
.calm ul{margin:.3rem 0 0;padding-right:1.2rem}.calm li{margin-bottom:.4rem}
.startbtn{min-height:54px;font-size:1.05rem;border-radius:18px;padding:.6rem 2rem}
/* نتیجه */
.res-top{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:center}
.ring{--p:0;--rc:#2fa383;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--rc) calc(var(--p)*1%),#e3eaf7 0)}
.ring::before{content:"";grid-area:1/1;width:118px;height:118px;border-radius:50%;background:#fff}
.ring b{grid-area:1/1;position:relative;font-size:1.9rem;font-weight:900;color:var(--ink)}
.ring.soft{--rc:#f2a62b}
.res-msg{font-size:1.15rem;font-weight:800;margin:0 0 .3rem}
.bigscore{font-size:2.6rem;font-weight:900;line-height:1.2}
.bar{height:12px;background:#e3eaf7;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#4cc3b5,#3b7de0);border-radius:99px}
.review{border-radius:18px}
.review.ok{border-right:6px solid var(--leaf)}.review.no{border-right:6px solid #f0a08e}.review.na{border-right:6px solid var(--amber)}
.optrow{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}
.sec[hidden]{display:none}
/* واکنش‌گرا */
@media (max-width:900px){
 .shell{grid-template-columns:1fr}.side{display:none}.main{padding:1rem 1rem 6.5rem}
 .bottomnav{display:flex;position:fixed;bottom:0;right:0;left:0;z-index:40;background:#fffffff2;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:.3rem .3rem calc(.3rem + env(safe-area-inset-bottom))}
 .bottomnav a{flex:1;display:grid;justify-items:center;gap:.05rem;padding:.3rem .1rem;font-size:.72rem;font-weight:700;color:var(--muted);border-radius:14px}.bottomnav a:hover{text-decoration:none}
 .bottomnav .ni{width:34px;height:28px;border-radius:12px}.bottomnav .ni svg{width:19px;height:19px}
 .bottomnav a.active{color:var(--c)}.bottomnav a.active .ni{background:var(--c);color:#fff}
 .topbar .today,.who small{display:none}.g3,.g4{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}.split{grid-template-columns:1fr}
 .pagehead{padding:1.05rem 1.1rem;border-radius:20px}
 .hero-in{grid-template-columns:1fr}.hero h1{font-size:1.7rem}.sheet{transform:none}.feat{grid-template-columns:1fr}
 .exam-wrap{grid-template-columns:1fr}.exam-aside{order:-1;position:static}
 .exam-aside .card{padding:.8rem}.qnav{gap:6px;max-height:132px;overflow-y:auto;padding:.3rem}.qnav a{width:36px;height:36px;border-radius:12px}.exam-aside h2{display:none}.legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem;font-size:.76rem}
 .excard{grid-template-columns:1fr}.intro{grid-template-columns:1fr}
 .qrow{grid-template-columns:auto 1fr}.qact{grid-column:1/-1}.viewbtn{display:none}
 .res-top{grid-template-columns:1fr;justify-items:center;text-align:center}
 .q{padding:1.1rem 1rem 1.3rem;border-radius:22px}.q .qb{font-size:1.12rem}
 .ex-bar{margin:0 -1rem .8rem}
}
@media (max-width:520px){.g3,.g4{grid-template-columns:1fr 1fr}.topbar{padding:.5rem .7rem}.who{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h1{font-size:1.3rem}.facts{grid-template-columns:1fr}.ex-timer{width:100%;justify-content:space-between}.ex-title p{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ===== ویرایشگر متن و نمایش متن غنی ===== */
.field{display:grid;gap:.3rem}.field .lbl{font-weight:600;font-size:.92rem}
.qb.rich{white-space:normal}
.rich{overflow-wrap:anywhere}
.rich p,.rich div{margin:0 0 .5em}.rich>:last-child{margin-bottom:0}
.rich ul,.rich ol{margin:.3em 0;padding-right:1.5em}
.rich blockquote{margin:.5em 0;padding:.3em .9em;border-right:4px solid var(--teal);background:var(--teal-l);border-radius:8px}
.rich pre{background:#f0f2f8;padding:.6em .8em;border-radius:8px;direction:ltr;text-align:left;overflow:auto;font-family:"Courier New",monospace;font-size:.92em}
.rich code{font-family:"Courier New",monospace;background:#f0f2f8;padding:0 .3em;border-radius:5px}
.rich table{border-collapse:collapse;margin:.5em 0;max-width:100%}
.rich td,.rich th{border:1px solid #b9c0d2;padding:.3em .7em;min-width:44px;vertical-align:top}.rich th{background:#f0f2f8}
.rich h3{font-size:1.2em;margin:.5em 0}.rich h4{font-size:1.05em;margin:.5em 0}
.rich hr{border:0;border-top:2px solid var(--line);margin:.7em 0}.rich a{text-decoration:underline}
.opt .rich{flex:1;min-width:0}
.rte{border:1.5px solid var(--line);border-radius:12px;background:#fff;position:relative}
.rte:focus-within{border-color:var(--teal);outline:3px solid var(--teal-l)}
.rte-bar{display:flex;flex-wrap:wrap;gap:4px 10px;padding:.4rem .5rem;background:#f4f6fb;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0}
.rte-g{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}
.rte-g+.rte-g{padding-right:10px;border-right:1px solid var(--line)}
.rte-b{font:inherit;min-width:34px;height:34px;padding:0 .45rem;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;font-size:.95rem;line-height:1}
.rte-b:hover{background:#fff;border-color:var(--line)}.rte-b.rte-txt{font-size:.72rem;font-weight:800}
.rte-a{display:inline-block;width:22px;line-height:20px;text-align:center;font-weight:800;border-bottom:4px solid;border-radius:3px;font-family:Arial,sans-serif}
.rte-s{width:auto;min-height:34px;height:34px;padding:0 .4rem;font-size:.82rem;border-radius:8px;border-width:1px;max-width:110px}
.rte-ph{position:relative;display:inline-block}
.rte-pop{position:absolute;top:38px;right:0;z-index:50;display:grid;grid-template-columns:repeat(7,26px);gap:5px;padding:.6rem;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);width:max-content}
.rte-pop[hidden]{display:none}
.rte-sw{width:26px;height:26px;border-radius:50%;border:1px solid #0003;cursor:pointer;padding:0}
.rte-ci{width:26px!important;height:26px;min-height:0!important;padding:0!important;border:1px solid #0003;border-radius:50%;grid-column:span 2;cursor:pointer;background:none}
.rte-reset{grid-column:span 4;font-size:.78rem;height:28px}
.rte-area{min-height:150px;padding:.7rem .9rem;outline:none;font-size:1rem;line-height:1.9;max-height:60vh;overflow:auto}
.rte-area.is-empty::before{content:attr(data-ph);color:#9aa3b8;pointer-events:none;position:absolute}
.rte.sm .rte-area{min-height:46px;padding:.45rem .7rem}
.rte.sm .rte-bar{display:none}.rte.sm:focus-within .rte-bar{display:flex}
.optrow{align-items:start}.optfield{min-width:0}.optrow>label{padding-top:.5rem}
@media (max-width:900px){.rte-bar{gap:4px 6px}.rte-g+.rte-g{padding-right:6px}.rte-pop{right:auto;left:0}}
/* ===== کاشی‌های منوی داشبورد ===== */
.menugrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:0 0 1.4rem}
.mtile{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:1.2rem 1rem 1.1rem;border-radius:22px;border:1.5px solid var(--bd);background:linear-gradient(160deg,var(--c1),#fff 78%);color:var(--ink);overflow:hidden;isolation:isolate;transition:transform .2s,box-shadow .2s,border-color .2s}
.mtile::before{content:"";position:absolute;z-index:-1;width:170px;height:170px;border-radius:50%;background:var(--c2);opacity:.55;top:-60px;left:-50px}
.mtile::after{content:"";position:absolute;z-index:-1;width:90px;height:90px;border-radius:50%;background:var(--c2);opacity:.3;bottom:-34px;right:-26px}
.mtile:hover{text-decoration:none;transform:translateY(-5px);box-shadow:0 18px 36px -16px var(--sd);border-color:var(--sd)}
.mt-art{display:block;width:128px;height:128px}
.mt-art svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 8px 10px var(--sd));transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.mtile:hover .mt-art svg{transform:scale(1.1) rotate(-3deg)}
.mt-t{font-weight:800;font-size:1.12rem;line-height:1.5;color:var(--tc)}
.mt-s{font-size:.82rem;color:var(--muted);line-height:1.6}
.mt-badge{position:absolute;top:.7rem;right:.7rem;min-width:32px;height:32px;padding:0 .5rem;border-radius:99px;background:#1f2d5a;color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 4px #fff}
.t-teal{--c1:#d8f6f1;--c2:#9fe6dc;--bd:#bfece6;--sd:#0f8b8d66;--tc:#0b6b6d}
.t-violet{--c1:#ece6ff;--c2:#c9b8ff;--bd:#dcd1ff;--sd:#6d28d966;--tc:#5521b5}
.t-rose{--c1:#ffe4ea;--c2:#ffb3c2;--bd:#ffd0da;--sd:#e11d4866;--tc:#b4143a}
.t-green{--c1:#dcf8e6;--c2:#a5ebbf;--bd:#c2f0d3;--sd:#15803d66;--tc:#126a36}
.t-indigo{--c1:#e3e7ff;--c2:#b5bdff;--bd:#d2d8ff;--sd:#4338ca66;--tc:#3730a3}
.t-amber{--c1:#fff0d2;--c2:#ffd58a;--bd:#ffe3b0;--sd:#d9770666;--tc:#9a5200}
.t-blue{--c1:#dcebff;--c2:#a9cdff;--bd:#c6dcff;--sd:#1d4ed866;--tc:#1741b3}
.t-red{--c1:#ffe2e2;--c2:#ffb0b0;--bd:#ffcccc;--sd:#dc262666;--tc:#b01c1c}
@media (max-width:900px){.menugrid{grid-template-columns:repeat(2,1fr);gap:.7rem}.mt-art{width:104px;height:104px}.mtile{padding:1rem .6rem .9rem;border-radius:18px}.mt-t{font-size:1rem}.mt-s{font-size:.76rem}}
@media (max-width:380px){.menugrid{grid-template-columns:1fr}}

/* فاصله‌ی کارت‌های آمار با کاشی‌های منو */
.grid+.menugrid{margin-top:1.1rem}
.stat+.stat{margin-top:0}

a.cal-d:hover{background:var(--ac-l)}a.cal-d.today:hover{filter:brightness(1.08);background:linear-gradient(135deg,var(--ac),var(--ac-d))}
@media (max-width:900px){.ex-bar{position:static}}

/* ===== بانک سوال ===== */
.df-1{background:#dff5ea!important;color:#146a46!important}.df-2{background:#fff1d1!important;color:#8a5a00!important}.df-3{background:#ffe3dc!important;color:#a83a25!important}
.chip.subj{background:#dff3fa;color:#0a5f80}.chip.mute{background:#eef1f8;color:#56627f}
.subjtabs{display:flex;gap:.4rem;overflow-x:auto;padding:.1rem .1rem .6rem;margin:0 0 .6rem}
.subjtabs a{flex:none;padding:.3rem .9rem;border-radius:99px;background:#fff;border:1.5px solid var(--line);color:var(--ink2);font-weight:700;font-size:.88rem}
.subjtabs a small{color:var(--muted);font-weight:600}.subjtabs a:hover{text-decoration:none;border-color:var(--ac)}.subjtabs a.on{background:var(--ac);border-color:var(--ac);color:#fff}.subjtabs a.on small{color:#ffffffcc}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem .9rem;align-items:end;margin-bottom:1rem}
.filters .f-q{grid-column:1/-1}.filters .f-act{display:flex;gap:.4rem}.filters label{font-size:.85rem}
.rnd{margin-bottom:1rem}.rnd summary{cursor:pointer;line-height:1.9}.rnd form{margin-top:.8rem}
.bank-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .6rem;flex-wrap:wrap}
.brow{--tc:#f2a62b;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:start;padding:.8rem 1rem;border-radius:18px;background:#fff;border:1px solid var(--line);border-right:6px solid var(--tc);box-shadow:var(--sh)}
.df-r1{--tc:#2fa383}.df-r2{--tc:#f2a62b}.df-r3{--tc:#ee7a63}
.bsel{display:grid;place-items:center;width:34px;height:34px;margin-top:.2rem}.bsel input{transform:scale(1.35)}
.btext{min-width:0}.by{font-size:.8rem;color:var(--muted)}
.bprev{margin-top:.4rem}.bprev summary{cursor:pointer;color:var(--ac-d);font-weight:700;font-size:.88rem}
.bprev[open]{padding:.6rem .8rem;border-radius:14px;background:#f6f9ff;border:1px solid var(--line)}
.bopts{margin:.4rem 0;padding:0;list-style:none;display:grid;gap:.2rem}.bopts li{display:flex;gap:.4rem}
.bulkbar{position:sticky;bottom:.8rem;z-index:35;display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap;margin-top:1rem;padding:.7rem 1rem;border-radius:20px;background:#1f2d5a;color:#fff;box-shadow:0 20px 40px -18px #0b1330}
.bulkbar[hidden]{display:none}.bulkbar .bg{display:flex;gap:.3rem;align-items:center}.bulkbar select{min-height:34px;padding:.2rem .6rem;border-radius:10px;width:auto;max-width:190px;font-size:.86rem}
.bulkbar .btn{border-color:#ffffff44}.bulkbar .btn.primary{background:#fff;color:var(--ac-d);border-color:#fff}.bulkbar .btn.danger{background:#fff;color:var(--rose)}
.pager{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}
.pager a{min-width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1.5px solid var(--line);font-weight:700;color:var(--ink2)}.pager a.on{background:var(--ac);border-color:var(--ac);color:#fff}.pager a:hover{text-decoration:none;border-color:var(--ac)}
.diffpick{display:flex;gap:.5rem;flex-wrap:wrap}.diffpick .dp{display:inline-flex;font-weight:700;cursor:pointer}
.diffpick .dp input{position:absolute;opacity:0;pointer-events:none}.diffpick .dp span{padding:.35rem 1.2rem;border-radius:99px;border:2px solid transparent;background:#eef1f8;color:#56627f}
.diffpick .df-r1 input:checked+span{background:#dff5ea;border-color:#2fa383;color:#146a46}.diffpick .df-r2 input:checked+span{background:#fff1d1;border-color:#f2a62b;color:#8a5a00}.diffpick .df-r3 input:checked+span{background:#ffe3dc;border-color:#ee7a63;color:#a83a25}
.diffpick .dp:has(input:focus-visible) span{outline:3px solid var(--amber)}
.field .lbl{display:block;font-weight:700;font-size:.92rem;margin-bottom:.3rem}
@media (max-width:900px){.brow{grid-template-columns:auto 1fr}.brow .qact{grid-column:1/-1}.bulkbar{bottom:4.6rem;border-radius:18px}.filters{grid-template-columns:1fr 1fr}}
.bank-stats{margin-bottom:1.1rem}.filters .f-act .btn{white-space:nowrap}.filters .f-act{align-items:stretch}

/* ===== منابع آموزشی ===== */
.noscroll{overflow:hidden}
.chip.cat{background:var(--ac-l);color:var(--ac-d)}
.kindtabs a{display:inline-flex;align-items:center;gap:.4rem}.kt-i{display:inline-block;width:22px;height:22px}.kt-i svg{width:100%;height:100%}
.grp{display:flex;align-items:center;gap:.6rem}.grp small{font-size:.8rem;background:var(--ac-l);color:var(--ac-d);border-radius:99px;padding:0 .7rem}
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}
.rcard{--kc:#7c8aa5;--kl:#e9edf5;position:relative;display:flex;flex-direction:column;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);transition:box-shadow .2s,border-color .2s}
.rcard:hover{box-shadow:0 22px 38px -22px #1f2d5a99;border-color:#c7d3ec}.rcard:has(.dd[open]){z-index:30}
.k-pdf{--kc:#e5484d;--kl:#fde3e4}.k-doc{--kc:#2f6fe0;--kl:#dce8ff}.k-ppt{--kc:#ef7a29;--kl:#ffe6d2}.k-xls{--kc:#1f9d63;--kl:#d8f4e6}.k-text{--kc:#64748b;--kl:#e6ebf2}.k-archive{--kc:#d19a14;--kl:#fff0c7}.k-image{--kc:#0f9aa0;--kl:#dff6f3}.k-video{--kc:#7c4dff;--kl:#ece6ff}.k-audio{--kc:#e0457b;--kl:#ffe1ec}.k-link{--kc:#0c8fb5;--kl:#dff3fa}
.rc-thumb{position:relative;display:grid;place-items:center;aspect-ratio:16/10;border-radius:21px 21px 0 0;overflow:hidden;background:radial-gradient(circle at 85% 15%,#fff9 0 60px,transparent 61px),linear-gradient(135deg,var(--kl),#fff 120%);text-decoration:none!important}
.rc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc-ico{width:92px;height:92px;filter:drop-shadow(0 14px 14px color-mix(in srgb,var(--kc) 35%,transparent));transition:transform .25s}.rcard:hover .rc-ico{transform:scale(1.08) rotate(-3deg)}.rc-ico svg{width:100%;height:100%}
.rc-badges{position:absolute;top:.6rem;right:.6rem;display:flex;gap:.3rem;flex-wrap:wrap}
.rb{font-size:.72rem;font-weight:800;padding:.05rem .65rem;border-radius:99px;background:#fff;box-shadow:0 4px 10px -6px #0006}
.rb.new{background:#2fa383;color:#fff}.rb.pin{background:#fff4d8;color:#8a5a00}.rb.draft{background:#1f2d5a;color:#fff}
.rc-type{position:absolute;bottom:.6rem;left:.6rem;font-size:.74rem;font-weight:700;background:#ffffffe6;color:var(--kc);border-radius:99px;padding:0 .7rem;backdrop-filter:blur(4px)}
.rc-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.rc-tags{display:flex;gap:.3rem;flex-wrap:wrap}
.rc-title{margin:0;font-size:1.02rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-title a{color:var(--ink)}
.rc-meta{display:flex;flex-wrap:wrap;gap:.1rem .8rem;font-size:.8rem;color:var(--muted)}.rc-cls{font-size:.8rem;color:var(--ink2)}
.rc-act{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:auto;padding-top:.5rem}
.rcard.is-draft{border-style:dashed}.rcard.is-draft .rc-thumb{filter:saturate(.6)}
.rc-more .dd-menu{inset-inline-end:auto;inset-inline-start:0;min-width:250px}
.dd-menu button{display:block;width:100%;text-align:right;font:inherit;background:none;border:0;cursor:pointer;padding:.6rem .8rem;border-radius:12px;color:var(--text)}
.dd-menu button:hover{background:var(--ac-l)}.dd-menu button b{display:block;color:var(--ac-d)}.dd-menu button span{display:block;font-size:.8rem;color:var(--muted);line-height:1.6}
.dd-menu .dd-danger b{color:var(--rose)}.dd-menu .dd-danger:hover{background:var(--rose-l)}
/* صفحه نمایش منبع */
.vwrap{display:grid;grid-template-columns:1fr 310px;gap:1rem;align-items:start;margin-bottom:1rem}
.vstage{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.vframe{display:block;width:100%;height:78vh;min-height:460px;border:0;background:#f4f6fb}.vframe.short{height:55vh}
.vimg{display:block;max-width:100%;margin:0 auto;max-height:80vh}.vvideo{display:block;width:100%;max-height:78vh;background:#0b1330}
.vembed{position:relative;aspect-ratio:16/9;background:#0b1330}.vembed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vaudio{display:grid;gap:1rem;justify-items:center;padding:2rem 1rem;background:linear-gradient(160deg,#ffe1ec,#fff)}.vaudio audio{width:min(100%,480px)}
.vfile{display:flex;gap:1.2rem;align-items:center;padding:2rem 1.6rem;background:linear-gradient(160deg,var(--kl,#eef3fb),#fff);flex-wrap:wrap}
.vbig{width:110px;height:110px;flex:none}.vbig svg{width:100%;height:100%}.vbig.sm{width:64px;height:64px}
.vbtns{margin-top:.7rem;display:flex;gap:.5rem;flex-wrap:wrap}.vdesc{margin-top:1rem}
.vside{display:grid;gap:1rem}.vbtn-col{display:grid;gap:.5rem}.vbtn-col .btn{width:100%}
.vinfo dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;margin:0 0 .6rem}.vinfo dt{color:var(--muted);font-size:.86rem}.vinfo dd{margin:0;font-weight:600}
/* برگه‌ی اشتراک‌گذاری */
.sheet-wrap{position:fixed;inset:0;z-index:85;display:grid;align-items:end;justify-items:center;background:#1f2d5a66;backdrop-filter:blur(3px)}.sheet-wrap[hidden]{display:none}
.sheet-box{width:100%;max-width:520px;background:#fff;border-radius:26px 26px 0 0;padding:1.3rem 1.2rem 1.4rem;box-shadow:0 -30px 60px -30px #0b1330;max-height:92vh;overflow:auto;animation:sheetup .25s ease}
@keyframes sheetup{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.sh-link{display:flex;gap:.5rem;margin:.4rem 0}.sh-link input{direction:ltr;text-align:left;font-size:.85rem}
.sh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.6rem;margin:.8rem 0}
.sh-it{display:grid;justify-items:center;gap:.3rem;padding:.6rem .2rem;border-radius:16px;background:#f4f7fd;border:0;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink2);cursor:pointer;text-decoration:none!important}
.sh-it:hover{background:var(--ac-l)}.sh-it i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800;font-size:1.1rem}
#shPubBox{margin:.6rem 0}.sheet-box .btn.block{margin-top:.4rem}
@media (min-width:700px){.sheet-wrap{align-items:center}.sheet-box{border-radius:26px}}
/* فرم بارگذاری */
.srcpick{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.sp{display:block;cursor:pointer}.sp input{position:absolute;opacity:0;pointer-events:none}
.sp span{display:grid;gap:.1rem;padding:.9rem 1rem;border-radius:18px;border:2px solid var(--line);background:#fbfcff}.sp small{font-weight:500;color:var(--muted)}
.sp input:checked+span{border-color:var(--ac);background:var(--ac-l);box-shadow:0 10px 20px -16px var(--ac)}.sp:has(input:focus-visible) span{outline:3px solid var(--amber)}
.dropzone.drag{background:var(--ac-l);border-color:var(--ac);transform:scale(1.01)}.dz-list{display:grid;gap:.15rem;font-size:.85rem;color:var(--ink2);margin-top:.3rem}
.progwrap{display:flex;align-items:center;gap:.8rem;margin-top:.8rem}.progwrap .pbar{flex:1}.progwrap #progbar{background:linear-gradient(90deg,var(--ac2),var(--ac))}
.curfile{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;margin-bottom:.8rem;border-radius:16px;background:#f6f9ff;border:1px solid var(--line)}
.clsgrid{display:flex;flex-wrap:wrap;gap:.5rem}.cls{display:inline-flex;cursor:pointer}.cls input{position:absolute;opacity:0;pointer-events:none}
.cls span{padding:.35rem 1.1rem;border-radius:99px;border:2px solid var(--line);background:#fbfcff;font-weight:700;font-size:.9rem}.cls input:checked+span{background:var(--ac);border-color:var(--ac);color:#fff}.cls:has(input:focus-visible) span{outline:3px solid var(--amber)}
.switches{display:grid;gap:.6rem}.sw{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem .9rem;border-radius:16px;background:#fbfcff;border:1.5px solid var(--line);cursor:pointer;font-weight:500}.sw input{margin-top:.35rem}
.sw span{display:grid}.sw small{color:var(--muted);font-weight:500;font-size:.82rem}.sw:has(input:checked){border-color:var(--ac);background:var(--ac-l)}
@media (max-width:900px){.vwrap{grid-template-columns:1fr}.vside{order:-1}.vframe{height:70vh}.srcpick{grid-template-columns:1fr}.rgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.vbig{width:84px;height:84px}}
@media (max-width:520px){.rgrid{grid-template-columns:1fr 1fr;gap:.7rem}.rc-ico{width:64px;height:64px}.rc-body{padding:.7rem}.rc-act .btn{flex:1}}
@media print{.topbar,.side,.bottomnav,.sitefoot,.pagehead,.vside,.vdesc,.rgrid,.sec-h,.sheet-wrap{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.vstage{border:0;box-shadow:none}.vimg{max-height:none}body{background:#fff}}

/* نوار پیشرفت بارگذاری: از چپ به راست */
.pbar.ltr{direction:ltr}.pbar.ltr i{margin-right:auto}
.uploading{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:1rem;background:#1f2d5acc;backdrop-filter:blur(4px)}
.up-box{width:100%;max-width:460px;background:#fff;border-radius:26px;padding:1.5rem;box-shadow:0 40px 70px -30px #0b1330;text-align:center}
.up-box .pbar{height:22px;margin:1rem 0 .7rem;background:#e3eaf7}
.up-box .pbar i{background:repeating-linear-gradient(45deg,#ffffff33 0 10px,transparent 10px 20px),linear-gradient(90deg,#f59a52,#d9630f);background-size:28px 28px,100% 100%;animation:upstripe 1s linear infinite;transition:width .25s ease}
@keyframes upstripe{to{background-position:28px 0,0 0}}
.up-stats{display:flex;gap:.4rem 1rem;flex-wrap:wrap;justify-content:center;align-items:baseline;color:var(--ink2);font-size:.88rem}.up-stats b{font-size:1.5rem;color:var(--ac-d);line-height:1.3}
.compbox{margin-top:.9rem;padding:.9rem 1rem;border-radius:18px;background:#fff7ef;border:1px solid #fde1c8;display:grid;gap:.5rem}
.capchips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.dz-row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;align-items:baseline}.dz-row b{font-weight:700}.dz-row em{font-style:normal;color:var(--muted);font-size:.82rem}.dz-row em.ok{color:#146a46;font-weight:700}

/* ===== امنیت آزمون ===== */
.secure, .secure .q, .secure .qb, .secure .opt{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.secure input,.secure textarea{-webkit-user-select:text;user-select:text}
.secure img{-webkit-user-drag:none;user-select:none}
body.secure-blur #examapp{filter:blur(22px);pointer-events:none;transition:filter .1s}
#wm{position:fixed;inset:0;z-index:70;pointer-events:none;display:none}#wm.on{display:block}
@media print{body:has(#examapp.secure) *{display:none!important}body:has(#examapp.secure)::before{content:"چاپ این صفحه مجاز نیست";display:block!important;font-size:2rem;text-align:center;padding:4rem}}
.qskel{display:flex;align-items:center;gap:.8rem;color:var(--muted);padding:2rem 0;font-weight:700}.qskel b{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#dfe9ff,#ece4ff);color:#3b3fa8}
.qerr{padding:1.5rem 0;color:var(--muted)}.q.lazy:not(.cur){display:none}
.timeup.gate{flex-direction:column}.timeup.gate h2{margin-bottom:.5rem}.timeup.gate p{font-weight:500;color:var(--ink2)}
.lockcard{margin:2rem auto}.lockcard h1{font-size:1.3rem}
.secgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem}
.presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem}
.pr{display:block;cursor:pointer}.pr input{position:absolute;opacity:0;pointer-events:none}
.pr span{display:grid;gap:.15rem;padding:.9rem 1rem;border-radius:18px;border:2px solid var(--line);background:#fbfcff}.pr small{font-weight:500;color:var(--muted);line-height:1.7}
.pr input:checked+span{border-color:var(--ac);background:var(--ac-l);box-shadow:0 10px 20px -16px var(--ac)}.pr:has(input:focus-visible) span{outline:3px solid var(--amber)}
.honor{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;border-radius:16px;background:#fff8e6;border:1px solid #f3d28a;margin:.8rem 0;cursor:pointer;font-weight:500}.honor input{margin-top:.4rem}
.rules{margin:.2rem 0 .6rem;padding-right:1.2rem}.rules li{margin-bottom:.3rem}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.tl li{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.5rem .8rem;border-radius:14px;background:#f8faff;border:1px solid var(--line)}
.tl .w{font-size:.78rem;font-weight:800;border-radius:99px;padding:0 .6rem;background:#eef1f8;color:#56627f}.tl .w.hi{background:#ffe3dc;color:#a83a25}.tl .w.md{background:#fff1d1;color:#8a5a00}
.live{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:#fff}.live i{width:9px;height:9px;border-radius:50%;background:#7dffb5;box-shadow:0 0 0 0 #7dffb5aa;animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px #7dffb500}100%{box-shadow:0 0 0 0 #7dffb500}}
.pill{display:inline-block;padding:0 .6rem;border-radius:99px;font-size:.78rem;font-weight:700;background:#eef1f8;color:#56627f}.pill.warn{background:#fff1d1;color:#8a5a00}.pill.bad{background:#ffe3dc;color:#a83a25}
.minibar{display:inline-block;width:70px;height:8px;border-radius:99px;background:#e3eaf7;overflow:hidden;vertical-align:middle}.minibar i{display:block;height:100%;background:linear-gradient(90deg,#4cc3b5,#3b7de0)}
.inlineform{display:inline-flex;gap:.3rem;align-items:center}.inlineform select{min-height:34px;padding:.1rem .5rem;width:auto;font-size:.85rem}

/* ===== سوال جورکردنی (کشیدن و رها کردن) ===== */
.tp-match{background:#e3f0ff!important;color:#1c4fa8!important}.qt-match{--tc:#3b7de0;--tl:#e1ecff}
.match{display:grid;gap:1rem;margin-top:1rem}.m-hint{margin:0}
.m-rows{display:grid;gap:.6rem}
.m-row{display:grid;grid-template-columns:1fr minmax(150px,42%);gap:.6rem;align-items:stretch}
.m-left{display:flex;gap:.7rem;align-items:center;padding:.6rem .9rem;border-radius:16px;background:#f3f7ff;border:2px solid #dde7f8;font-size:1.05rem;font-weight:600}
.m-no{flex:none;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#dfe9ff,#ece4ff);color:#3b3fa8;font-weight:800;font-size:.9rem}
.m-slot{min-height:56px;border:2px dashed #b7c9ea;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:.25rem;background:#fbfdff;transition:border-color .15s,background .15s}
.m-slot:empty::before{content:"پاسخ را اینجا رها کن";color:#9aa9c7;font-size:.85rem}
.m-slot.over,.m-bank.over{border-color:#3fae93;background:#eaf8f3}
.m-slot:has(.m-chip){border-style:solid;border-color:#3fae93;background:#eaf8f3}
.m-slot:focus-visible,.m-chip:focus-visible{outline:3px solid #f2b13c;outline-offset:2px}
.m-bank{display:flex;flex-wrap:wrap;gap:.55rem;padding:.8rem;border-radius:18px;background:#f6f1ff;border:2px dashed #cdbff2;min-height:66px;align-items:center;position:sticky;bottom:.6rem;z-index:6;max-height:28vh;overflow-y:auto;box-shadow:0 -12px 24px -14px #1f2d5a66}
.m-bank:empty::before{content:"همه‌ی پاسخ‌ها جا داده شدند ✓";color:#8b7bc4;font-size:.88rem}
.m-chip{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;padding:.5rem 1rem;border-radius:14px;background:#fff;border:2px solid #b7c9ea;font-weight:700;box-shadow:0 8px 14px -12px #1f2d5a;max-width:100%;line-height:1.7;text-align:center}
.m-chip:hover{border-color:#7ea6e8}.m-chip.sel{outline:3px solid #f2b13c;outline-offset:2px}.m-chip.dragging{opacity:.35}
.m-slot .m-chip{width:100%;border-color:#3fae93;background:#fff}
.m-ghost{position:fixed;z-index:200;pointer-events:none;transform:rotate(-2deg);box-shadow:0 22px 34px -14px #1f2d5a99;cursor:grabbing;opacity:.97}
.pairrow{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.pairrow .pa{color:var(--muted);font-weight:800}
@media (max-width:620px){.m-row{grid-template-columns:1fr}.pairrow{grid-template-columns:auto 1fr auto}.pairrow .pa{display:none}.pairrow input[name="pair_r[]"]{grid-column:2/3}}
.m-slot:has(.m-chip){border-color:transparent;background:transparent;padding:0}

/* ===== کارت آزمون با شمارش معکوس ===== */
.btn.gold{background:linear-gradient(180deg,#f7d778,#d9a528 60%,#b9860f);border-color:#b9860f;color:#3b2a00;box-shadow:0 14px 26px -14px #b9860f,inset 0 1px 0 #fff8}
.btn.gold:hover{filter:brightness(1.05)}
.excard{position:relative;grid-template-columns:1fr auto auto;border-right-width:8px;transition:box-shadow .2s,transform .2s}
.excard:hover{box-shadow:0 22px 36px -22px #b9860f99;transform:translateY(-2px)}
.ex-stretch{position:absolute;inset:0;border-radius:inherit;z-index:1}
.ex-info,.ex-cd,.ex-go{position:relative;z-index:0;pointer-events:none}
.ex-top{display:flex;gap:.4rem;margin-bottom:.2rem}
.ex-cd{display:grid;gap:.05rem;justify-items:center;min-width:170px;padding:.45rem 1rem .5rem;border-radius:18px;background:linear-gradient(160deg,#1f2d5a,#2c3f86);border:2px solid #d9a528;box-shadow:0 14px 24px -16px #1f2d5a}
.ex-cd small{color:#f2dfa0;font-size:.72rem;font-weight:700}
.ex-cd b{font-size:1.25rem;line-height:1.5;font-variant-numeric:tabular-nums;color:#fff;font-weight:800;white-space:nowrap}
.ex-cd.end{background:linear-gradient(160deg,#145f4a,#1f9a7a);border-color:#f2cf66}.ex-cd.soon b{color:#ffd9a0}.ex-cd.none{background:#eef1f8;border-color:#d5dbe8;box-shadow:none}.ex-cd.none small,.ex-cd.none b{color:#8a96b4}
.ex-cd.zero b{opacity:.6}
@media (max-width:900px){.excard{grid-template-columns:1fr}.ex-cd{width:100%;grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:.6rem;min-width:0}.ex-cd b{justify-self:end}.ex-go{display:none}}
/* ===== کارت بزرگ جزئیات آزمون ===== */
.xwrap{max-width:940px;margin:0 auto}
.xcard{--g1:#f6d365;--g2:#d9a528;--g3:#b9860f;position:relative;border:4px solid transparent;border-radius:34px;padding:1.4rem 1.6rem 1.2rem;
background:radial-gradient(circle at 12% 0,#fff6d8 0 160px,transparent 161px),radial-gradient(circle at 92% 100%,#e8ecff 0 190px,transparent 191px),linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#f6d365,#d9a528 30%,#fff1b8 50%,#c98f12 75%,#f6d365) border-box;
box-shadow:0 40px 70px -40px #b9860f99,0 20px 40px -30px #1f2d5a99}
.xcard.st-ended{filter:saturate(.75)}
.xc-c{position:absolute;width:44px;height:44px;border:3px solid var(--g2);opacity:.85;pointer-events:none}
.xc-c.tl{top:14px;right:14px;border-left:0;border-bottom:0;border-top-right-radius:18px}.xc-c.tr{top:14px;left:14px;border-right:0;border-bottom:0;border-top-left-radius:18px}
.xc-c.bl{bottom:14px;left:14px;border-right:0;border-top:0;border-bottom-left-radius:18px}.xc-c.br{bottom:14px;right:14px;border-left:0;border-top:0;border-bottom-right-radius:18px}
.xc-head{display:flex;justify-content:space-between;align-items:center;padding:.2rem 3rem}
.xc-state{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:.9rem;padding:.2rem 1rem;border-radius:99px;background:#eef1f8;color:#56627f}
.xc-state i{width:10px;height:10px;border-radius:50%;background:#9aa8c7}
.st-open .xc-state{background:#dff5ea;color:#146a46}.st-open .xc-state i{background:#2fa383;box-shadow:0 0 0 0 #2fa38388;animation:pulse2 1.6s infinite}
.st-upcoming .xc-state{background:#fff1d1;color:#8a5a00}.st-upcoming .xc-state i{background:#f2a62b}
@keyframes pulse2{70%{box-shadow:0 0 0 9px #2fa38300}100%{box-shadow:0 0 0 0 #2fa38300}}
.xc-code{font-size:.82rem;color:#8a96b4;font-weight:700}
.xc-titlebox{text-align:center;padding:1rem 1rem .6rem}
.xc-kicker{display:inline-block;font-size:.85rem;font-weight:800;letter-spacing:.08em;color:#b9860f;margin-bottom:.2rem}
.xc-title{font-size:clamp(1.9rem,5vw,3rem);line-height:1.55;font-weight:900;margin:0;background:linear-gradient(135deg,#1f2d5a 10%,#4b4fd0 55%,#7a55d1);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-wrap:balance}
.xc-flourish{width:220px;margin:.3rem auto .5rem}.xc-flourish svg{width:100%;height:auto;display:block}
.xc-by{color:var(--muted);font-size:1rem}.xc-by b{color:var(--ink)}
.xc-count{margin:1rem .6rem;padding:1.1rem 1rem 1.3rem;border-radius:26px;text-align:center;color:#fff;border:3px solid #d9a528;
background:radial-gradient(circle at 15% 0,#4b5fd855 0 120px,transparent 121px),radial-gradient(circle at 90% 110%,#d9a52855 0 130px,transparent 131px),linear-gradient(160deg,#16224a,#25388a);box-shadow:inset 0 0 0 2px #ffffff14,0 24px 40px -26px #16224a}
.xc-count.end{background:radial-gradient(circle at 15% 0,#2fa38355 0 120px,transparent 121px),radial-gradient(circle at 90% 110%,#d9a52855 0 130px,transparent 131px),linear-gradient(160deg,#0f4a3b,#1d8f73)}
.xc-count.none{background:linear-gradient(160deg,#6b7794,#8a96b4);border-color:#c9d0e0}
.xcc-label{font-weight:800;color:#f6dd8f;margin-bottom:.6rem;font-size:1.05rem}
.xcc-tiles{display:flex;justify-content:center;align-items:flex-start;gap:.5rem;flex-wrap:nowrap}
.xcc-t{min-width:84px;padding:.5rem .4rem .45rem;border-radius:20px;background:linear-gradient(180deg,#ffffff26,#ffffff0d);border:1.5px solid #f2cf6677;backdrop-filter:blur(4px)}
.xcc-t b{display:block;font-size:clamp(2rem,6vw,3.2rem);line-height:1.2;font-weight:900;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,#f8dc86);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.xcc-t span{font-size:.82rem;color:#d6def7;font-weight:700}
.xcc-sep{font-style:normal;font-size:2.2rem;color:#f2cf66;line-height:1.7;font-weight:800}
.xc-count.soon .xcc-t b{background:linear-gradient(180deg,#fff,#ffb36b);-webkit-background-clip:text;background-clip:text}
.xcc-end{font-size:1.4rem;font-weight:800;padding:.6rem}
.xc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.2rem .6rem}
.xc-i{display:flex;gap:.8rem;align-items:center;padding:.7rem .9rem;border-radius:20px;background:#fff;border:1.5px solid #f1e3b3;box-shadow:0 12px 20px -18px #b9860f}
.xc-i:nth-child(4n+1) .xc-ic{background:#e7e8ff;color:#3b3fa8}.xc-i:nth-child(4n+2) .xc-ic{background:#fff1d1;color:#9a5a00}.xc-i:nth-child(4n+3) .xc-ic{background:#dff5ea;color:#146a46}.xc-i:nth-child(4n) .xc-ic{background:#ffe3dc;color:#a83a25}
.xc-ic{flex:none;width:46px;height:46px;border-radius:16px;display:grid;place-items:center}.xc-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.xc-tx{display:grid;min-width:0}.xc-tx small{color:var(--muted);font-size:.78rem}.xc-tx b{font-size:.98rem;line-height:1.6;overflow-wrap:anywhere}
.xc-desc{margin:0 .6rem 1rem;padding:1rem 1.2rem;border-radius:20px;background:#fffaf0;border:1.5px dashed #e6cd86}.xc-desc h2{font-size:1rem;color:#8a5a00}.xc-desc p{margin:0;line-height:2}
.xc-cta{margin:1rem .6rem 0;padding:1.1rem;border-radius:24px;background:linear-gradient(160deg,#fff8e0,#fff);border:2px solid #f0dc9a}
.xc-btn{min-height:58px;font-size:1.15rem;border-radius:20px;padding:.6rem 2.6rem;font-weight:900}
.xc-rules{padding:.8rem 1rem;border-radius:18px;background:#eef6ff;border:1px solid #cfe0f7}.xc-rules b{display:flex;gap:.5rem;align-items:center;color:#1c4fa8}.xc-rules svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.xc-note{text-align:center;font-weight:700;color:var(--ink2);line-height:2}
.xc-foot{text-align:center;color:#a0aac3;font-size:.8rem;padding:.9rem 0 .2rem}
@media (max-width:900px){.xc-grid{grid-template-columns:1fr 1fr}.xcard{border-radius:26px;padding:1rem .8rem}.xc-head{padding:.2rem 1.6rem}.xcc-t{min-width:0;flex:1}.xcc-tiles{gap:.25rem}.xcc-sep{font-size:1.4rem}.xc-c{width:30px;height:30px}}
@media (max-width:520px){.xc-grid{grid-template-columns:1fr}.xc-count{margin:1rem 0}.xc-grid,.xc-desc,.xc-cta{margin-right:0;margin-left:0}}

/* ===== تنظیمات ===== */
.setcard{padding:1.4rem}
.set-h{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.set-h h2{margin:0 0 .2rem}.set-h p{margin:0}
.set-ic{flex:none;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;box-shadow:0 14px 22px -14px var(--ac-d)}
.set-ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.regrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}
.regcard{--rc:#3b7de0;--rl:#e4efff;position:relative;display:grid;gap:.8rem;padding:1.1rem 1.2rem;border-radius:24px;background:#fff;border:2px solid var(--line);transition:border-color .2s,box-shadow .2s}
.regcard.teacher{--rc:#d9630f;--rl:#ffeadb}
.regcard.is-on{border-color:var(--rc);box-shadow:0 22px 34px -26px var(--rc);background:linear-gradient(180deg,var(--rl),#fff 60%)}
.rg-top{display:flex;gap:.9rem;align-items:flex-start}.rg-t{flex:1;display:grid;gap:.2rem}.rg-t small{color:var(--muted);line-height:1.8;font-weight:500}
.rg-ic{flex:none;width:50px;height:50px;border-radius:17px;display:grid;place-items:center;background:var(--rl);color:var(--rc)}
.rg-ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.rg-sub{display:grid;gap:.7rem;padding-top:.8rem;border-top:1px dashed var(--line)}
.rg-link{display:grid;gap:.2rem}.rg-link small{color:var(--muted)}.rg-link input{font-size:.82rem;direction:ltr;text-align:left;background:#f6f9ff}
.tgl{position:relative;display:inline-block;width:60px;height:34px;flex:none}
.tgl input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1;transform:none}
.tk{position:absolute;inset:0;border-radius:99px;background:#cfd8ea;transition:background .2s;box-shadow:inset 0 2px 4px #1f2d5a22}
.tk::after{content:"";position:absolute;top:3px;right:3px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 4px 8px -2px #1f2d5a66;transition:right .2s}
.tgl input:checked+.tk{background:linear-gradient(135deg,#34b58f,#1f8a6c)}.tgl input:checked+.tk::after{right:29px}
.tgl input:focus-visible+.tk{outline:3px solid var(--amber);outline-offset:2px}
.rolepick{display:grid;gap:.8rem;margin-top:.8rem}
.rp{display:grid;grid-template-columns:auto 1fr;gap:.1rem .9rem;align-items:center;padding:1rem 1.1rem;border-radius:20px;border:2px solid var(--line);background:#fbfcff;color:var(--text)}
.rp:hover{text-decoration:none;border-color:var(--teal);box-shadow:var(--sh)}.rp b{font-size:1.05rem}.rp small{grid-column:2;color:var(--muted)}
.rp-i{grid-row:1/3;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#e4efff;color:#3b7de0}.rp-i.t{background:#ffeadb;color:#d9630f}
.rp-i svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* منوی پایین موبایل با آیتم‌های زیاد: اسکرول افقی */
@media (max-width:900px){.bottomnav{overflow-x:auto;scrollbar-width:none}.bottomnav::-webkit-scrollbar{display:none}.bottomnav a{flex:0 0 auto;min-width:68px}}

/* ===== دکمه‌ی بازگشت ===== */
.backbar{margin:0 0 .8rem}
.backlink{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem 1rem .35rem .85rem;border-radius:99px;background:#fff;border:1.5px solid var(--line);color:var(--ink2);font-weight:700;font-size:.9rem;box-shadow:var(--sh);transition:transform .15s,border-color .15s}
.backlink:hover{text-decoration:none;border-color:var(--ac);color:var(--ac-d);transform:translateX(3px)}
.backlink svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body.public .backbar{max-width:1100px;margin:1rem auto 0;padding:0 1rem}

/* ===== آزمون آزمایشی ===== */
.pvbar{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:center;padding:.5rem 1rem;background:linear-gradient(90deg,#fff1d1,#ffe3b0);border-bottom:2px solid #f2b13c;color:#7a5100;font-size:.9rem;position:sticky;top:0;z-index:40}
.pvbar b{color:#5b3b00}.ckcard h2{margin-bottom:.8rem}
.ck{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ck li{display:flex;gap:.7rem;align-items:center;padding:.55rem .8rem;border-radius:14px;background:#f8faff;border:1px solid var(--line)}
.ck li>span:nth-child(2){flex:1;line-height:1.8}
.ck-i{flex:none;width:12px;height:12px;border-radius:50%;background:#9aa8c7}
.ck-ok{background:#e9f8f0!important;border-color:#bfe5d0!important}.ck-ok .ck-i{background:#2fa383}
.ck-bad{background:#fff0ee!important;border-color:#f3c5bb!important}.ck-bad .ck-i{background:#e0553b}
.ck-warn{background:#fff8e6!important;border-color:#f3d28a!important}.ck-warn .ck-i{background:#f2a62b}
.ck-info .ck-i{background:#3b7de0}

/* ===== لوگو و PWA ===== */
.brand .logo{width:40px;height:40px;flex:none;object-fit:contain;filter:drop-shadow(0 2px 5px #0006)}
.brand .brand-t{line-height:1.2}
body.exam .brand .logo{filter:drop-shadow(0 2px 4px #1f2d5a40)}
.auth-logo{display:block;width:112px;height:112px;margin:-.2rem auto .5rem;filter:drop-shadow(0 8px 14px #1f2d5a40)}
.authcard h1{text-align:center}
.hero-logo{display:block;width:116px;height:116px;margin:0 0 1rem;filter:drop-shadow(0 10px 22px #0008)}
.sitefoot{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}
.sitefoot img{display:block;opacity:.95}
.linkbtn{font:inherit;font-size:.85rem;background:none;border:0;color:var(--teal-d);text-decoration:underline;cursor:pointer;padding:0}
.pwa-btn[hidden],[data-pwa-install][hidden]{display:none!important}
.topbar .pwa-btn{display:inline-flex;align-items:center;gap:.35rem;border-color:var(--amber);color:#fff}
.topbar .pwa-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){.topbar .pwa-btn span{display:none}.brand{font-size:1rem}.brand .logo{width:36px;height:36px}.auth-logo{width:96px;height:96px}.hero-logo{width:92px;height:92px}}
/* نوار پایین موبایل و بنر نصب روی هم نیفتند */
.pwa-banner{position:fixed;z-index:60;inset-inline:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom));max-width:460px;margin-inline:auto;display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.65rem .8rem;box-shadow:0 18px 40px -16px #1b2850aa;animation:pwaUp .35s ease}
body.app .pwa-banner{bottom:calc(76px + env(safe-area-inset-bottom))}
@media (min-width:861px){body.app .pwa-banner{bottom:calc(.7rem + env(safe-area-inset-bottom))}}
.pwa-banner img{flex:none}.pwa-b-t{flex:1;min-width:0;display:grid;line-height:1.5}.pwa-b-t b{color:var(--ink)}.pwa-b-t small{color:var(--muted);font-size:.78rem}
.pwa-x{background:none;border:0;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:.1rem .4rem}
.pwa-toasts{position:fixed;z-index:80;inset-inline:0;top:calc(.7rem + env(safe-area-inset-top));display:grid;gap:.5rem;justify-items:center;pointer-events:none;padding:0 .8rem}
.pwa-toast{pointer-events:auto;display:flex;align-items:center;gap:.8rem;background:#1b2850;color:#fff;padding:.6rem .9rem;border-radius:14px;font-size:.9rem;box-shadow:0 12px 30px -12px #000a;animation:pwaDown .3s ease}
.pwa-toast.warn{background:#8a3b12}.pwa-toast.ok{background:#17714c}.pwa-toast.out{opacity:0;transform:translateY(-8px);transition:.3s}
.pwa-toast button{font:inherit;font-weight:700;border:0;border-radius:10px;padding:.3rem .8rem;background:var(--amber);color:#1b2850;cursor:pointer}
.pwa-sheet{position:fixed;inset:0;z-index:90;background:#0b1330b3;display:grid;align-items:end;justify-items:center;padding:0;animation:pwaFade .2s ease}
.pwa-sheet-card{width:100%;max-width:460px;background:#fff;border-radius:24px 24px 0 0;padding:1.4rem 1.3rem calc(1.3rem + env(safe-area-inset-bottom));text-align:center;animation:pwaUp .3s ease}
.pwa-sheet-card img{filter:drop-shadow(0 6px 10px #1b285055)}.pwa-sheet-card h2{margin:.4rem 0;color:var(--ink);font-size:1.2rem}
.pwa-sheet-card p{color:var(--muted);margin:.2rem 0 .6rem}.pwa-sheet-card ol{text-align:right;line-height:2.1;padding-inline-start:1.3rem;margin:.4rem 0 1rem}
@media (min-width:600px){.pwa-sheet{align-items:center}.pwa-sheet-card{border-radius:24px}}
@keyframes pwaUp{from{transform:translateY(24px);opacity:0}}@keyframes pwaDown{from{transform:translateY(-14px);opacity:0}}@keyframes pwaFade{from{opacity:0}}
/* حالت برنامه‌ی نصب‌شده */
html.is-pwa{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
html.is-pwa .pwa-btn,html.is-pwa .pwa-banner{display:none!important}
html.is-pwa body{-webkit-touch-callout:none}
html.is-pwa input,html.is-pwa textarea,html.is-pwa [contenteditable]{-webkit-touch-callout:default}
@media print{.pwa-banner,.pwa-toasts,.pwa-sheet,.pwa-btn{display:none!important}}

/* ===== پرونده‌ی دانش‌آموز ===== */
.slink{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.slink:hover,.slink:focus-visible{color:var(--teal-d,#0b6b6d);border-bottom-style:solid}
.ptabs{display:flex;gap:.35rem;overflow-x:auto;margin:.2rem 0 1rem;padding-bottom:.2rem;border-bottom:2px solid var(--line,#d9e2f2);scrollbar-width:thin}
.ptabs a{flex:none;padding:.55rem 1rem;border-radius:12px 12px 0 0;color:var(--muted,#62708f);text-decoration:none;font-weight:600;white-space:nowrap}
.ptabs a:hover{background:#eef4ff;color:var(--ink,#1f2d5a)}
.ptabs a.on{background:var(--teal-d,#0b6b6d);color:#fff}
.tabbadge{display:inline-block;min-width:1.3rem;padding:0 .4rem;border-radius:999px;background:var(--amber,#f5b301);color:#1b2850;font-size:.75rem;text-align:center}
.pcard{display:flex;gap:1.2rem;align-items:flex-start;flex-wrap:wrap}
.avatar.lg{width:78px;height:78px;font-size:2rem;flex:none}
.pinfo{flex:1;min-width:240px}.pname{font-size:1.2rem;margin-bottom:.5rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.2rem;margin:0}.kv dt{color:var(--muted,#62708f)}.kv dd{margin:0;font-weight:600}
.alertbox{margin-top:1rem;border-inline-start:5px solid var(--amber,#f5b301);background:#fffaf0}.alertbox h2{margin-top:0}
.chartwrap{overflow-x:auto;padding:.3rem 0}.chartkey{display:flex;gap:1.2rem;flex-wrap:wrap;color:var(--muted,#62708f);font-size:.82rem;margin-top:.3rem}
.chartkey i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-inline-end:.35rem;vertical-align:-1px}.chartkey i.ln{height:3px;background:#1b2850;border-radius:2px;width:18px}
.note .nh{display:flex;align-items:center;gap:.8rem;margin-bottom:.3rem}.note p{margin:.2rem 0 0;line-height:2}

.pagehead h1 .sname{display:inline-block;margin-top:.35rem;padding:.2rem .9rem;border-radius:14px;background:#fff;color:#d41f2d;text-shadow:none;font-weight:800}

/* راهنمای دانش‌آموز */
.sec-help{--ac:#2563eb;--ac-d:#1741b3;--ac-l:#dcebff;--ac2:#60a5fa}
.help-search{margin-bottom:1rem}.help-toc{margin-bottom:1rem}.help-toc>b{display:block;margin-bottom:.6rem}
.help-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.45rem}
.help-links a{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:12px;background:var(--ac-l);color:var(--ac-d);text-decoration:none;font-weight:600;font-size:.92rem}
.help-links a span,.help-sec .hn{display:inline-grid;place-items:center;min-width:1.7rem;height:1.7rem;border-radius:9px;background:var(--ac);color:#fff;font-size:.85rem;font-weight:700}
.help-sec{margin-bottom:1rem;scroll-margin-top:5rem}.help-sec h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem}
.help-it{border:1.5px solid var(--line,#d9e2f2);border-radius:14px;margin-bottom:.5rem;background:#fbfcff}
.help-it summary{cursor:pointer;padding:.7rem .9rem;font-weight:700;list-style:none}.help-it summary::-webkit-details-marker{display:none}
.help-it summary::before{content:'＋';margin-inline-end:.5rem;color:var(--ac)}.help-it[open] summary::before{content:'－'}
.help-it[open]{border-color:var(--ac);background:var(--ac-l)}.help-it p{margin:0;padding:0 .9rem .8rem;line-height:2}
.help-it[hidden],.help-sec[hidden]{display:none}.help-end{text-align:center}
.help-links a.hot{background:#fff3cf;color:#8a5a00;box-shadow:inset 0 0 0 1.5px #f2cf66}.help-links a.hot span{background:#d9a528}
label[hidden]{display:none}

/* ===== پشتیبان‌گیری و بازیابی ===== */
.bk-acts{white-space:nowrap;text-align:left}.bk-acts form{display:inline-block;margin:0 .2rem}
.bk-restore select{width:100%}
.bk-form .actions .btn,.bk-restore .actions .btn{min-height:44px}
@media (max-width:520px){.bk-form .actions .btn{width:100%}}

/* ===== منوی همبرگری (کشوی راست، تمام‌قد) ===== */
.burger{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;padding:0;cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #ffffff40;transition:background .15s}
.burger:hover{background:#ffffff33}.burger:focus-visible,.dr-close:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.burger svg,.dr-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.drawer-ov{position:fixed;inset:0;z-index:70;background:rgba(11,19,48,.5);backdrop-filter:blur(3px);opacity:0;transition:opacity .25s}
.drawer-ov.on{opacity:1}
.drawer{position:fixed;top:0;bottom:0;right:0;z-index:80;width:min(340px,88vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f4f8ff);border-left:1px solid var(--line);box-shadow:-24px 0 48px -20px rgba(11,19,48,.45);transform:translateX(100%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s .28s}
.drawer.on{transform:none;visibility:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s}
.dr-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:58px;padding:.55rem 1rem;background:linear-gradient(90deg,#1b2850,#27397a);color:#fff}
.dr-close{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;padding:0;cursor:pointer;color:#fff;background:#ffffff1f;border:1px solid #ffffff40}.dr-close:hover{background:#ffffff33}
.dr-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem .85rem}
.dr-date{color:var(--muted);font-size:.84rem;text-align:center;margin:-.3rem 0 .9rem}
.dr-nav{display:grid;gap:.3rem}
.dr-nav a{display:flex;align-items:center;gap:.75rem;padding:.5rem .65rem;border-radius:16px;color:var(--ink2);font-weight:700;background:#fff;border:1px solid var(--line)}
.dr-nav a:hover{text-decoration:none;box-shadow:var(--sh);border-color:var(--c)}
.dr-nav .dr-l{flex:1;min-width:0}
.dr-chev{flex:none;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dr-nav a.active{background:var(--c);color:#fff;border-color:var(--c);box-shadow:0 10px 20px -12px var(--c)}
.dr-nav a.active .ni{background:#ffffff30;color:#fff}.dr-nav a.active .dr-chev{stroke:#fff}
.dr-foot{flex:none;display:grid;gap:.5rem;padding:.8rem .85rem calc(.8rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.dr-pwa{border-color:var(--amber)}
body.drawer-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.drawer,.drawer.on,.drawer-ov{transition:none}}
@media print{.burger,.drawer,.drawer-ov{display:none!important}}

/* ===== جدول آزمون‌ها: ردیف‌های کم‌ارتفاع ===== */
.tbl-compact th,.tbl-compact td{padding:.4rem .75rem}
.tbl-compact .t-title{min-width:170px;line-height:1.5}
.tbl-compact .t-time{white-space:nowrap;font-size:.84rem;line-height:1.45}
.tbl-compact td.act{display:table-cell}
.tbl-compact .btn.sm{min-height:30px;padding:.1rem .65rem;font-size:.85rem}
.rowmenu{display:inline-block;vertical-align:middle}
.rowmenu .dd-menu{min-width:170px;padding:.3rem}
.rowmenu .dd-menu a,.rowmenu .dd-menu button{display:block;width:100%;padding:.45rem .7rem;font-size:.9rem;text-align:right;font-weight:600}
.rowmenu .dd-menu form{margin:0;display:block}
.rowmenu .dd-menu .dd-danger{color:var(--rose)}.rowmenu .dd-menu .dd-danger:hover{background:var(--rose-l)}

/* ===== کاهش حجم تصویر سوال ===== */
.shrinkbox{display:grid;gap:.25rem;padding:.6rem .8rem;border-radius:14px;background:var(--ac-l);border:1px solid color-mix(in srgb,var(--ac) 22%,#fff)}
.shrinkbox label.inline{font-weight:700}.shrinkbox small{line-height:1.6}#shrinkNote:empty{display:none}#shrinkNote{font-size:.86rem;font-weight:700;color:var(--ac-d)}

/* مدرسه‌ی فعال (چند مدرسه) */
.school-chip{display:inline-flex;align-items:center;max-width:15rem;padding:.2rem .7rem;border-radius:999px;background:#ffffff24;color:inherit;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
body.exam .school-chip{background:#1b285012}
a.school-chip:hover{background:#ffffff3a}
@media (max-width:520px){.school-chip{max-width:90px;font-size:.72rem;padding:.15rem .5rem}}
.badge-cur{display:inline-block;margin-right:.4rem;padding:.05rem .55rem;border-radius:999px;background:#e3f6ec;color:#17714c;font-size:.75rem}
.badge-off{display:inline-block;padding:.05rem .55rem;border-radius:999px;background:#fdecea;color:#b3261e;font-size:.75rem}
.school-switch{display:inline-flex;align-items:center;margin:0;gap:.3rem}
select.school-chip{appearance:none;-webkit-appearance:none;border:0;cursor:pointer;font-family:inherit;padding-inline-end:.7rem}
select.school-chip option{color:#1b2850;background:#fff}
.mgroup{margin-top:1rem}
.mgroup h3{margin:.1rem 0 .5rem}
.n-student{--c:#0d9488;--cl:#d5f5f1}
.n-school{--c:#7c3aed;--cl:#ede4ff}
.n-link{--c:#a21caf;--cl:#fae8ff}
svg.xl{width:1.2em;height:1.2em;flex:none;vertical-align:-.25em;margin-inline-end:.4em}
svg.bi{width:1.2em;height:1.2em;flex:none;vertical-align:-.25em;margin-inline-end:.45em;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* جدول مدارس: فیلد نام بزرگ‌تر؛ جای آن از ستون‌های عددی و حاشیه‌ها گرفته می‌شود */
.schools-tbl th,.schools-tbl td{padding-inline:.5rem}
.schools-tbl td.rn{min-width:320px}
.rn-form{display:flex;flex-wrap:nowrap;gap:.4rem;align-items:center}
.rn-form input[name=name]{flex:1 1 230px;min-width:230px;width:auto;max-width:none}
.rn-form .btn{white-space:nowrap;flex:none}
.schools-tbl td:nth-child(n+3):nth-child(-n+6){text-align:center;width:1%;white-space:nowrap}
.schools-tbl td:nth-child(2){white-space:nowrap}
.schools-tbl td.st{white-space:nowrap}
.logo-prev{display:grid;place-items:center;width:100%;min-height:190px;border-radius:18px;border:1.5px dashed var(--bd,#d0daee);margin-bottom:.8rem;background:repeating-conic-gradient(#eef2fa 0 25%,#fff 0 50%) 50%/20px 20px}
.logo-prev img{max-width:160px;max-height:160px;object-fit:contain}
/* اعتبار طراح در پایین همه‌ی صفحه‌ها (به‌جز صفحه‌ی پاسخ‌دادن به آزمون) */
.credit{text-align:center;color:var(--muted);font-size:.82rem;line-height:2.1;padding:1.1rem 1rem .8rem;margin:1.6rem auto 0;max-width:520px;border-top:1px dashed var(--bd,#d0daee)}
.credit b{color:var(--ink,#18233f);font-weight:800}
.credit a{color:var(--ac-d,#0b6b6d);font-weight:700;text-decoration:none;unicode-bidi:isolate}
.credit a:hover{text-decoration:underline}
body.public .credit{margin-top:.2rem;border-top:0}
@media print{.credit{display:none!important}}
.n-help{--c:#6f9a1f;--cl:#ecf5d3}
/* مخاطبان آزمون */
#audBox .aud-modes{display:grid;gap:.6rem}
#audBox .aud-mode{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;border:1.5px solid var(--bd,#d0daee);border-radius:16px;cursor:pointer;background:#fff}
#audBox .aud-mode input{width:auto;margin:.3rem 0 0;flex:none}
#audBox .aud-mode small{display:block;color:var(--muted)}
#audBox .aud-mode:has(input:checked){border-color:#2f74e0;background:#eef4ff}
#audBox .aud-sel{display:grid;gap:1rem}
#audBox .aud-sel[hidden]{display:none}
#audBox h3{margin:.2rem 0 .5rem}
#audBox .aud-classes{display:flex;flex-wrap:wrap;gap:.5rem}
#audBox .aud-cl{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1.5px solid var(--bd,#d0daee);border-radius:999px;cursor:pointer;background:#fff}
#audBox .aud-cl input{width:auto;margin:0}
#audBox .aud-cl:has(input:checked){border-color:#2f74e0;background:#eef4ff}
#audBox .aud-tools{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.6rem}
#audBox .aud-tools input[type=search]{flex:1 1 200px;min-width:160px;width:auto}
#audBox .aud-list{max-height:340px;overflow:auto;border:1.5px solid var(--bd,#d0daee);border-radius:16px;background:#fff;padding:.3rem}
#audBox .aud-st{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:12px;cursor:pointer}
#audBox .aud-st[hidden]{display:none}
#audBox .aud-st input{width:auto;margin:0;flex:none}
#audBox .aud-st small{margin-inline-start:auto;color:var(--muted)}
#audBox .aud-st:hover{background:#f4f7fd}
#audBox .aud-st.in-class{background:#eaf8f1}
#audBox .aud-st.in-class small{color:#1a8a5a}
#audBox .aud-total{color:#1a6fd8}
/* ورود مهمان */
.gmode{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem 1rem;border:1.5px solid var(--bd,#d0daee);border-radius:16px;cursor:pointer;background:#fff}
.gmode input{width:auto;margin:.3rem 0 0;flex:none}
.gmode small{display:block;color:var(--muted)}
.gmode:has(input:checked){border-color:#2f74e0;background:#eef4ff}
.gcopy{display:flex;gap:.5rem;flex-wrap:wrap}
.gcopy input{flex:1 1 260px;min-width:0}

/* ===== فرم ساخت و ویرایش آزمون (teacher/exam_edit.php) ===== */
form.xe{display:grid;gap:1.1rem;max-width:1000px;margin-inline:auto}
.xs{--c:#2f74e0;--cl:#e8f1ff;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);overflow:hidden;position:relative}
.xs::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 45%,#fff))}
.xs-blue{--c:#2f74e0;--cl:#e8f1ff}.xs-green{--c:#22a06b;--cl:#e3f6ec}.xs-violet{--c:#7a55d1;--cl:#eee8ff}.xs-amber{--c:#e6932a;--cl:#fff1d8}
.xs-h{display:flex;align-items:center;gap:.8rem;padding:1.15rem 1.3rem .4rem}
.xs-h h2{margin:0;font-size:1.12rem}.xs-h h2::before{display:none}.xs-h p{margin:.1rem 0 0;color:var(--muted);font-size:.84rem}
.xs-i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--cl,#eef2fb);color:var(--c,#3a4a7a)}
.xs-i svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.xs-i.sm{width:38px;height:38px;border-radius:12px}.xs-i.sm svg{width:20px;height:20px}
.xs-b{display:grid;gap:1rem;padding:.8rem 1.3rem 1.3rem}
.xs-b>h3,.xs-b .aud-sel h3{margin:0 0 .5rem;font-size:.95rem;color:var(--ink2)}
.xe .fld{display:grid;gap:.35rem;align-content:start;font-weight:700;font-size:.92rem;min-width:0}
.xe .fld .fl{font-weight:700}
.xe .fld .hint{font-weight:400;line-height:1.7;min-height:0}
.xe .xg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.9rem 1rem;align-items:start}
.xe .xg.x3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.xe input:not([type=checkbox]):not([type=radio]),.xe select,.xe textarea{background:#f8faff;border-color:#cdd8ee}
.xe input:focus,.xe select:focus,.xe textarea:focus{border-color:var(--c,var(--ac));background:#fff;outline:3px solid color-mix(in srgb,var(--c,var(--ac)) 20%,transparent)}
.xe .jdate{flex-wrap:nowrap}.xe .jdate select{min-width:0;flex:1 1 0;padding-inline:.5rem}.xe .jdate input[type=time]{flex:1.3 1 0;min-width:96px;text-align:center}
@media(max-width:420px){.xe .jdate{flex-wrap:wrap}.xe .jdate select{flex:1 1 28%}.xe .jdate input[type=time]{flex:1 1 100%}}
/* کلید روشن/خاموش */
.sw{display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;border:1.5px solid #dbe3f3;border-radius:14px;background:#fbfcff;cursor:pointer;font-weight:500;font-size:.92rem;line-height:1.7;transition:background .15s,border-color .15s;min-height:50px}
.sw:hover{background:#f3f7ff}
.sw input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.sw-t{flex:none;position:relative;width:42px;height:24px;border-radius:999px;background:#c5cfe4;transition:background .2s}
.sw-t::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:inset-inline-start .2s}
.sw input:checked~.sw-t{background:linear-gradient(135deg,#22a06b,#4cc3b5)}
.sw input:checked~.sw-t::after{inset-inline-start:21px}
.sw:has(input:checked){border-color:#a8dcc3;background:#f1fbf6}
.sw:has(input:focus-visible){outline:3px solid var(--amber)}
.sw-x{display:grid;gap:0;min-width:0}.sw-x small{color:var(--muted);font-weight:400;font-size:.8rem}
/* مخاطبان */
.xs-green .aud-mode{border-radius:16px}
.xs-green .aud-modes{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.xs-green .aud-mode:has(input:checked){border-color:#22a06b;background:#f1fbf6}
.xs-green .aud-cl:has(input:checked){border-color:#22a06b;background:#e3f6ec}
/* تنظیمات پیشرفته (کشو) */
.xadv,.xsec{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--sh);overflow:hidden}
.xadv>summary,.xsec>summary{display:flex;align-items:center;gap:.8rem;padding:.95rem 1.2rem;cursor:pointer;list-style:none;user-select:none}
.xadv>summary::-webkit-details-marker,.xsec>summary::-webkit-details-marker{display:none}
.xadv>summary{background:linear-gradient(90deg,#eef2fb,#f8faff)}
.xadv>summary .xs-i{background:#e4e9f7;color:#4a5a8c}
.xadv-t{flex:1;display:grid;min-width:0}.xadv-t b{font-size:1.02rem}.xadv-t small{color:var(--muted);font-size:.82rem;line-height:1.6}.xadv-t em{font-style:normal;color:var(--ac-d);font-weight:700}
.xadv-c{flex:none;width:30px;height:30px;border-radius:50%;background:#e4e9f7;position:relative;transition:transform .2s}
.xadv-c::before{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-right:2.5px solid #4a5a8c;border-bottom:2.5px solid #4a5a8c;transform:translateY(-2px) rotate(45deg)}
.xadv[open]>summary .xadv-c,.xsec[open]>summary .xadv-c{transform:rotate(180deg)}
.xadv>summary:hover{background:linear-gradient(90deg,#e6ecfa,#f3f6fd)}
.xadv-b{display:grid;gap:1rem;padding:1.1rem 1.2rem 1.3rem;border-top:1px solid var(--line)}
.xsub{display:grid;gap:.8rem}.xsub>h3{margin:0;font-size:.95rem;color:var(--ink2);display:flex;align-items:center;gap:.5rem}
.xsub>h3::before{content:"";width:5px;height:1em;border-radius:3px;background:linear-gradient(180deg,#7a55d1,#3b7de0)}
.xsec{box-shadow:none;border-color:#d9d2f3}
.xsec>summary{background:#f6f2ff}.xsec>summary .xs-i{background:#eae2ff;color:#7a55d1}
.xsec-b{display:grid;gap:1.1rem;padding:1.1rem 1.2rem 1.3rem;border-top:1px solid #e3dcf6}
.xe .presets{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.xe .pr span{height:100%;border-radius:16px;padding:.8rem .95rem}
.xe .pr input:checked+span{border-color:#7a55d1;background:#f3eefe;box-shadow:0 10px 20px -16px #7a55d1}
.xe .fld.dim{opacity:.45}
/* دکمه‌های پایین */
.xact{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:.8rem;border-radius:20px;background:#ffffffee;border:1px solid var(--line);box-shadow:0 -6px 22px -14px #1f2d5a66;backdrop-filter:blur(6px)}
.xact .btn.lg{padding:.7rem 2.2rem;font-size:1.02rem}
@media(min-width:900px){.xact{position:sticky;bottom:.8rem;z-index:5}}
@media(max-width:560px){.xs-h{padding:1rem 1rem .3rem}.xs-b,.xadv-b,.xsec-b{padding-inline:1rem}.xadv>summary,.xsec>summary{padding-inline:1rem}.xact .btn{flex:1}}
