/* مدیسپ مینی‌اپ — دیزاین از پروتوتایپ medisep-mini-app.html (بخش کاربر).
   فونت یکان‌بخک و لوگو به‌صورت فایل محلی؛ بخش مدیر عمداً پیاده نشده است. */
@font-face{font-family:YekanBakh;src:url('/static/fonts/yekan-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:YekanBakh;src:url('/static/fonts/yekan-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--bg:#f4f7fa;--surface:#fff;--ink:#122c40;--muted:#7b8d9c;--line:#e7edf2;--navy:#102536;--teal:#17bcb0;--mint:#def6f0;--teal-ink:#08766c;--shadow:0 7px 30px #19364b06;--orange:#ecaa49;--red:#dd6472;--radius:23px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.85 YekanBakh,Tahoma,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #49cfc4;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #b8eee5;border-color:var(--teal)}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.5;letter-spacing:-.5px}h2{font-size:19px}h3{font-size:16px}small{font-size:11px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sprite{position:absolute;width:0;height:0;overflow:hidden}.muted{color:var(--muted)}.ltr{direction:ltr;unicode-bidi:isolate}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:grid;gap:18px}.spacer{height:18px}.eyebrow{font-size:11px;color:var(--teal-ink);font-weight:bold;letter-spacing:.2px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;background:var(--mint);color:var(--teal-ink);border-radius:9px;padding:4px 9px;font-size:10px}.pill.amber{background:#fff2dc;color:#ae7424}.pill.blue{background:#e9effb;color:#5775ba}.pill.grey{background:var(--bg);color:var(--muted)}.pill.red{background:#fff0f1;color:#bb5061}.pill .icon{width:13px;height:13px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:13px;background:var(--navy);color:white;font-weight:bold;transition:transform .15s,background .15s}.btn:hover{background:#214358}.btn:active{transform:scale(.98)}.btn.teal{background:var(--teal);color:#063d38}.btn.teal:hover{background:#36ccbf}.btn.light{background:var(--mint);color:var(--teal-ink)}.btn.ghost{background:transparent;color:var(--muted);padding-inline:8px}.btn.outline{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn.small{min-height:34px;font-size:11px;padding:6px 11px;border-radius:10px}.btn.full{width:100%}.icon-btn{width:40px;height:40px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:13px;color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 15px}.section-head h2{font-size:18px}.section-head .btn{color:var(--teal-ink)}.app-shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;padding:34px 23px 24px;border-left:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:10px}.brand-avatar{display:block;background-image:url('/static/logo.png');background-size:cover;background-position:center;width:49px;height:49px;border-radius:15px;object-fit:cover}.brand strong{font-size:22px;line-height:1.35;display:block;letter-spacing:-1px}.brand small{display:block;direction:ltr;color:var(--muted);font-size:10px}.sidebar-nav{display:grid;gap:9px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 15px;background:transparent;color:var(--muted);border-radius:12px;text-align:right}.nav-link.active{background:var(--mint);color:var(--teal-ink);font-weight:bold}.sidebar-note{padding:17px;background:linear-gradient(145deg,#edf9f5,#f5f8fb);border-radius:17px}.sidebar-note .icon{color:var(--teal);margin-bottom:8px}.sidebar-note p{font-size:11px;color:var(--muted);margin-top:5px}.sidebar-foot{margin-top:auto;color:var(--muted);font-size:10px;text-align:center}.workspace{min-width:0}.topbar{height:92px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface);gap:12px}.topbar .mobile-brand{display:none}.topbar-title small{display:block;color:var(--muted);font-size:11px}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--mint);font-weight:bold;color:var(--teal-ink)}.role-switch{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:12px;font-size:11px}.role-switch .icon{width:16px;height:16px}.notification{position:relative}.notification::after{content:'';position:absolute;width:5px;height:5px;background:var(--teal);border:2px solid white;box-sizing:content-box;top:6px;right:8px;border-radius:50%}.main{max-width:1200px;margin:auto;padding:30px 38px 42px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.page-heading p{color:var(--muted);font-size:12px;margin-top:4px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:24px}.hero{padding:29px 28px;border-radius:24px;background:var(--navy);color:white;position:relative;overflow:hidden;min-height:205px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero:after{content:'';position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid #ffffff09;left:-65px;top:-80px;box-shadow:0 0 0 35px #ffffff02,0 0 0 70px #ffffff02;pointer-events:none}.hero-copy{max-width:410px;position:relative;z-index:1}.hero .eyebrow{color:#93d8d0}.hero h2{font-size:24px;line-height:1.65;margin:9px 0}.hero p{font-size:12px;color:#a7beca;max-width:340px}.hero .btn{margin-top:19px;min-height:40px;font-size:12px}.hero-art{width:120px;height:120px;flex-shrink:0;display:grid;place-items:center;position:relative;z-index:1;border-radius:33px;transform:rotate(-8deg);background:linear-gradient(145deg,#24c9bd,#8cebe1);box-shadow:0 16px 50px #0002}.hero-art>.icon{width:67px;height:67px;stroke:#0b5554;stroke-width:1.3;transform:rotate(8deg)}.hero-art .mini-check{position:absolute;left:-13px;bottom:4px;width:35px;height:35px;background:#f3fff9;color:var(--teal-ink);border-radius:12px;display:grid;place-items:center;transform:rotate(8deg);box-shadow:0 5px 20px #0002}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.stat{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:16px 14px}.stat-icon{width:39px;height:39px;display:grid;place-items:center;background:var(--mint);color:var(--teal-ink);border-radius:12px;flex-shrink:0}.stat-icon.blue{background:#ecf0fc;color:#6682c2}.stat-icon.orange{background:#fff4e0;color:#bc8a40}.stat strong{font-size:21px;display:block;line-height:1.5}.stat small{color:var(--muted);white-space:nowrap;font-size:10px}.exam-list{display:grid;gap:13px}.exam-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:19px 20px}.exam-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--mint);color:var(--teal-ink)}.exam-symbol.purple{background:#f0edfb;color:#8c74b6}.exam-symbol.blue{background:#e9f2fb;color:#5e8cae}.exam-card h3{font-size:15px;margin-bottom:5px}.exam-card .meta{font-size:10px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--muted)}.meta>span{display:inline-flex;align-items:center;gap:4px}.meta .icon{width:13px;height:13px}.exam-card .card-end{display:grid;gap:9px;justify-items:end}.exam-card .btn{min-height:32px;font-size:11px;padding:6px 11px}.exam-card .btn .icon{width:15px;height:15px}.subject-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.subject-tags span{font-size:9px;border-radius:6px;color:var(--muted);background:var(--bg);padding:1px 6px}.side-result{text-align:center}.side-result h3{text-align:right}.ring{width:151px;height:151px;border-radius:50%;background:conic-gradient(from 0deg,var(--teal) 0deg,var(--teal) var(--angle),var(--line) var(--angle),var(--line) 360deg);position:relative;display:grid;place-items:center;margin:23px auto 18px}.ring:before{content:'';position:absolute;inset:11px;border-radius:50%;background:var(--surface)}.ring .ring-content{position:relative}.ring strong{display:block;font-size:35px;line-height:1.4;letter-spacing:-1px}.ring small{color:var(--muted)}.score-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:19px}.score-summary>div{border-left:1px solid var(--line)}.score-summary>div:last-child{border:0}.score-summary b{display:block;font-size:17px}.score-summary small{color:var(--muted)}.score-summary .correct{color:var(--teal-ink)}.score-summary .wrong{color:var(--red)}.tip{padding:20px;background:#e8f4f2;border-radius:21px;display:flex;gap:13px;align-items:start}.tip>.icon{color:var(--teal-ink);margin-top:3px}.tip h3{font-size:14px}.tip p{font-size:11px;color:#6e8b87;margin-top:5px}.searchbox{position:relative;max-width:330px;flex:1}.searchbox>.icon{position:absolute;right:14px;top:12px;width:18px;color:var(--muted)}.searchbox input{padding-right:42px;margin:0;background:var(--surface)}input,select,textarea{display:block;width:100%;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:11px 13px;color:var(--ink);font-size:12px}textarea{resize:vertical;line-height:1.9}label{display:block;font-size:11px;margin:15px 0 7px;color:var(--muted)}.filter-bar{display:flex;gap:7px;margin:17px 0 23px;flex-wrap:wrap}.filter-chip{padding:6px 15px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface);font-size:11px}.filter-chip.active{background:var(--navy);color:white;border-color:var(--navy)}.empty{padding:45px 20px;text-align:center;border:1px dashed #cad9e1;border-radius:20px;color:var(--muted)}.empty>.icon{width:36px;height:36px;color:var(--teal);margin-bottom:12px}.empty h3{color:var(--ink);margin-bottom:6px}.empty p{font-size:12px}.history-item{display:flex;align-items:center;gap:15px;padding:19px}.history-item h3{font-size:14px}.history-score{color:var(--teal-ink);background:var(--mint);font-size:20px;font-weight:bold;border-radius:14px;min-width:60px;text-align:center;padding:8px}.quiz-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:10px}.quiz-top h1{font-size:20px}.timer{font-size:20px;direction:ltr;unicode-bidi:isolate;background:var(--mint);color:var(--teal-ink);border-radius:14px;padding:8px 15px;display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;min-width:125px;justify-content:center}.timer.low{background:#fff0f1;color:var(--red)}.timer .icon{width:18px}.quiz-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;align-items:start}.question-card{padding:26px}.question-top{padding-bottom:17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:9px}.question-top small{color:var(--muted)}.flag-btn{font-size:10px;background:var(--bg);color:var(--muted);display:flex;align-items:center;gap:5px;border-radius:9px;padding:6px 9px}.flag-btn .icon{width:13px;height:13px}.flag-btn.active{background:#fff1db;color:#af7422}.stem{font-size:17px;line-height:2.2;margin:23px 0;white-space:pre-wrap;overflow-wrap:anywhere}.visual-note{font-size:12px;color:var(--muted);border-right:3px solid var(--teal);padding:7px 12px;margin-bottom:17px;white-space:pre-wrap}.options{display:grid;gap:11px}.option{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;text-align:right;background:var(--surface);border:1px solid var(--line);border-radius:13px;color:var(--ink);line-height:1.9;min-height:59px}.option-number{border:1px solid var(--line);width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:12px;flex-shrink:0;color:var(--muted)}.option.selected{border:1.5px solid var(--teal);background:#edfaf7}.option.selected .option-number{background:var(--teal);color:#fff;border-color:var(--teal)}.option.correct{border-color:#49bd9c;background:#edf9f2}.option.correct .option-number{background:#36aa84;border-color:#36aa84;color:white}.option.wrong{border-color:#dd7885;background:#fff3f3}.option.wrong .option-number{background:#dd7885;color:white;border-color:#dd7885}.option-text{overflow-wrap:anywhere}.question-foot{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:9px}.question-foot .btn{font-size:12px}.save-note{font-size:10px;color:var(--teal-ink);margin-top:16px;display:flex;align-items:center;gap:5px}.save-note .icon{width:13px;height:13px}.q-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.q-grid button{height:37px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--bg);position:relative}.q-grid button.answered{background:var(--mint);color:var(--teal-ink);border-color:#bee7dc}.q-grid button.current{border:2px solid var(--teal);color:var(--teal-ink);background:var(--surface)}.q-grid button.flagged:after{content:'';position:absolute;top:4px;left:4px;width:5px;height:5px;background:var(--orange);border-radius:50%}.legend{font-size:9px;display:flex;gap:11px;color:var(--muted);flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:4px}.progress-track{height:5px;background:var(--line);border-radius:10px;overflow:hidden;margin:16px 0}.progress-track i{display:block;height:100%;border-radius:10px;background:var(--teal)}.quiz-aside .card{padding:19px}.quiz-aside h3{font-size:14px}.quiz-aside p{font-size:10px;color:var(--muted);margin-top:13px}.result-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:22px;align-items:start}.result-head{text-align:center}.result-head .ring{width:175px;height:175px;margin-top:22px}.result-head .ring strong{font-size:42px}.result-head h2{font-size:19px;margin:11px 0 7px}.result-head>p{color:var(--muted);font-size:11px}.subject-score{padding:17px 0;border-bottom:1px solid var(--line)}.subject-score:last-child{border:0;padding-bottom:0}.subject-score .progress-track{margin:9px 0 0}.subject-score strong{color:var(--teal-ink);font-size:18px}.subject-score small{color:var(--muted);font-size:10px}.result-actions{display:flex;gap:10px;margin-top:18px}.profile-card{display:flex;align-items:center;gap:17px;padding:25px}.profile-card .avatar{width:70px;height:70px;border-radius:22px;font-size:25px}.profile-card h2{font-size:21px}.profile-card p{font-size:11px;color:var(--muted)}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border:0}.settings-row .icon{color:var(--teal-ink)}.settings-row p{font-size:11px;color:var(--muted)}.upload-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:23px;align-items:start}.upload-box{border:1.5px dashed #adcec9;background:linear-gradient(145deg,#f7fcfa,#f6f8fb);border-radius:17px;padding:28px 20px;text-align:center;position:relative;cursor:pointer;margin-top:17px}.upload-box.dragging{border-color:var(--teal);background:var(--mint)}.upload-box>.icon{width:38px;height:38px;color:var(--teal-ink);margin-bottom:8px}.upload-box h3{font-size:14px}.upload-box p{font-size:10px;color:var(--muted);margin:6px 0 14px}.upload-box input{font-size:10px;background:var(--surface);padding:9px;cursor:pointer}.file-status{font-size:11px;color:var(--teal-ink);padding-top:10px;overflow-wrap:anywhere}.info-list{padding:0;margin:15px 0;list-style:none;display:grid;gap:13px}.info-list li{display:flex;gap:8px;font-size:11px;color:var(--muted)}.info-list .icon{width:16px;color:var(--teal-ink);margin-top:2px}.note{border-radius:12px;padding:12px 15px;background:var(--mint);color:var(--teal-ink);font-size:11px}.note.warning{background:#fff5e5;color:#ae7c36}.note.preview-note{background:var(--surface);border:1px solid var(--line);color:var(--muted);display:flex;align-items:center;gap:7px;margin-top:26px;justify-content:center;font-size:10px}.note .icon{width:15px;height:15px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check-row{display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:12px;line-height:1.9;margin:18px 0}.check-row input{width:16px;height:16px;accent-color:var(--teal);margin-top:4px;flex-shrink:0}.question-edit{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:11px}.question-edit summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;list-style:none}.question-edit summary::-webkit-details-marker{display:none}.question-edit summary p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:430px}.question-edit textarea{min-height:68px;background:var(--surface)}.question-edit .field-grid{gap:9px}.question-edit label{margin-top:9px}.code-sample{direction:ltr;text-align:left;unicode-bidi:isolate;font:11px/1.8 monospace;white-space:pre-wrap;background:var(--navy);color:#afddd9;padding:15px;border-radius:12px;overflow-wrap:anywhere;margin-top:12px}.footer-brand{margin-top:30px;text-align:center;display:flex;justify-content:center;gap:7px;color:var(--muted);font-size:10px}.footer-brand strong{color:var(--teal-ink)}.bottom-nav{display:none}dialog{padding:0;border:0;border-radius:24px;background:var(--surface);color:var(--ink);width:min(450px,calc(100vw - 34px));box-shadow:0 24px 100px #061e3e30;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0d2439a6;backdrop-filter:blur(5px)}.modal-body{padding:27px}.modal-body h2{font-size:22px;margin:7px 0 10px}.modal-body>p{font-size:12px;color:var(--muted);margin-bottom:18px}.modal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.modal-meta>div{background:var(--bg);padding:13px 6px;text-align:center;border-radius:13px}.modal-meta b{font-size:17px;display:block}.modal-meta small{color:var(--muted)}.modal-icon{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;color:var(--teal-ink);background:var(--mint)}.modal-icon .icon{width:28px;height:28px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,25px);background:var(--navy);color:#fff;border-radius:13px;padding:12px 19px;box-shadow:0 8px 30px #132b4222;max-width:calc(100vw - 30px);width:max-content;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:40;font-size:12px}#toast.show{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}.view-enter{animation:enter .2s ease-out}@keyframes enter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
body.dark{--bg:#0e2230;--surface:#142b3b;--ink:#e7f2f5;--muted:#97afbb;--line:#263f4e;--navy:#09202e;--mint:#1b403f;--teal-ink:#72ddd0;--shadow:none}body.dark .tip,body.dark .sidebar-note,body.dark .upload-box{background:#193b3c}body.dark .hero{border:1px solid #264957}body.dark .option.selected,body.dark .option.correct{background:#1b403b}body.dark .option.wrong{background:#442a36}body.dark .pill.amber,body.dark .note.warning{background:#463b27;color:#efc788}body.dark .stat-icon.blue,body.dark .exam-symbol.blue,body.dark .exam-symbol.purple{background:#28394f;color:#aabfe8}body.dark .stat-icon.orange{background:#453c2c;color:#edca89}body.dark .notification::after{border-color:var(--surface)}
@media(min-width:1600px){.app-shell{border-inline:1px solid var(--line)}}
@media(max-width:1200px){.app-shell{grid-template-columns:207px minmax(0,1fr)}.sidebar{padding-inline:18px}.main{padding-inline:25px}.topbar{padding-inline:25px}.home-grid{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.hero{padding:25px 22px}.hero-art{width:85px;height:85px;border-radius:25px}.hero-art>.icon{width:50px;height:50px}.stat{padding:13px 10px;gap:8px}.stat-icon{width:32px;height:32px}.stat strong{font-size:19px}.result-grid{grid-template-columns:290px minmax(0,1fr)}}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr}.home-side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.home-side .ring{width:120px;height:120px;margin:16px auto}.hero-art{width:105px;height:105px}.upload-grid{grid-template-columns:1fr}.upload-help{display:none}.quiz-grid{grid-template-columns:minmax(0,1fr) 210px;gap:15px}.question-card{padding:20px}.result-grid{grid-template-columns:1fr}.result-head .ring{width:145px;height:145px}.result-head .score-summary{max-width:350px;margin:20px auto 0}}
@media(max-width:760px){body{font-size:13px;padding-bottom:92px}.app-shell{display:block;min-height:100dvh}.sidebar{display:none}.topbar{height:81px;padding:14px 20px;position:relative}.topbar-title{display:none}.topbar .mobile-brand{display:flex}.brand-avatar{width:43px;height:43px;border-radius:13px}.brand strong{font-size:21px}.topbar .avatar,.topbar .notification{display:none}.role-switch{padding:7px 9px;font-size:9px;gap:4px;border-radius:10px}.role-switch .icon{width:14px}.main{padding:24px 20px 30px}.page-heading{margin-bottom:20px;align-items:flex-start}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.date-chip{font-size:9px;padding:5px 7px;margin-top:7px}.hero{min-height:198px;padding:24px 21px;gap:11px;border-radius:22px}.hero h2{font-size:20px;margin:8px 0}.hero p{font-size:10px;max-width:225px}.hero .eyebrow{font-size:10px}.hero .btn{min-height:37px;margin-top:16px;font-size:11px;padding:8px 12px}.hero-art{width:77px;height:88px;border-radius:23px}.hero-art>.icon{width:48px;height:48px}.hero-art .mini-check{width:29px;height:29px;border-radius:9px;left:-8px}.hero-art .mini-check .icon{width:17px}.stats{gap:9px;margin-top:13px}.stat{display:block;padding:13px 10px;border-radius:15px}.stat-icon{width:30px;height:30px;margin-bottom:8px;border-radius:9px}.stat-icon .icon{width:17px;height:17px}.stat strong{font-size:21px}.stat small{font-size:9px;white-space:normal}.section-head{margin:23px 0 13px}.section-head h2{font-size:16px}.exam-card{grid-template-columns:39px minmax(0,1fr);padding:17px;gap:11px;border-radius:19px}.exam-symbol{width:39px;height:39px;border-radius:12px}.exam-symbol .icon{width:21px}.exam-card h3{font-size:13px}.exam-card .meta{font-size:9px;gap:9px}.exam-card .card-end{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:2px;padding-top:11px;border-top:1px solid var(--line)}.exam-card .btn{min-height:32px}.card{padding:21px;border-radius:21px}.home-side{display:grid;grid-template-columns:1fr;gap:17px;margin-top:0}.home-grid{gap:22px}.home-side .side-result{display:grid;grid-template-columns:1fr 118px;text-align:right;padding:19px;align-items:center;gap:8px}.home-side .side-result h3{font-size:15px}.home-side .side-result .ring{grid-column:2;grid-row:1/4;width:107px;height:107px;margin:0}.home-side .side-result .ring strong{font-size:27px}.home-side .side-result .ring:before{inset:8px}.home-side .side-result .score-summary{grid-column:1;padding-left:3px;margin-top:6px}.home-side .side-result .score-summary b{font-size:15px}.home-side .side-result .btn{grid-column:1/-1;margin-top:6px}.tip{padding:18px}.bottom-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;padding:10px 8px calc(9px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:15;box-shadow:0 -5px 25px #142b3b04}.bottom-nav button{display:flex;align-items:center;flex-direction:column;gap:3px;min-width:61px;background:transparent;color:var(--muted);font-size:9px;padding:4px 8px;position:relative}.bottom-nav button .icon{width:20px;height:20px}.bottom-nav button.active{color:var(--teal-ink);font-weight:bold}.bottom-nav button.active:before{content:'';position:absolute;top:-10px;left:calc(50% - 9px);width:18px;height:3px;background:var(--teal);border-radius:0 0 4px 4px}.footer-brand{margin-top:22px;font-size:9px}.quiz-top{margin-bottom:17px}.quiz-top h1{font-size:17px}.quiz-top small{font-size:9px}.timer{min-width:108px;padding:8px 10px;font-size:18px}.quiz-grid{grid-template-columns:1fr;gap:17px}.stem{font-size:16px;margin:22px 0;line-height:2.1}.option{padding:12px 13px;gap:11px;min-height:58px;font-size:13px}.question-card{padding:20px}.question-top{padding-bottom:15px}.question-foot .btn{font-size:11px;padding:8px 12px;min-height:41px}.question-foot .btn .icon{width:16px}.q-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.q-grid button{height:34px;font-size:11px}.quiz-aside .card{padding:20px}.quiz-aside .btn{margin-top:2px}.searchbox{max-width:none}.search-tools{display:grid!important;gap:12px}.search-tools .btn{justify-self:start}.filter-chip{padding:5px 13px;font-size:10px}.history-item{padding:16px;gap:12px}.history-item h3{font-size:13px}.history-score{font-size:17px;min-width:57px;padding:10px 5px}.result-head .ring{width:145px;height:145px}.result-head .ring strong{font-size:36px}.result-head h2{font-size:17px}.result-actions .btn{font-size:11px;flex:1;padding-inline:9px}.upload-grid{gap:17px}.field-grid{gap:10px}.upload-box{padding:23px 17px}.question-edit summary p{max-width:235px;font-size:11px}.check-row{font-size:11px}.question-edit .field-grid{grid-template-columns:1fr}.page-heading .btn.small{font-size:10px;padding:6px 9px}.modal-body{padding:24px}.modal-body h2{font-size:21px}#toast{bottom:93px;font-size:11px}.profile-card{padding:21px;gap:13px}.profile-card .avatar{width:59px;height:59px;border-radius:18px}.profile-card h2{font-size:19px}}
@media(max-width:360px){.main{padding-inline:15px}.topbar{padding-inline:15px}.hero-art{display:none}.hero p{max-width:100%}.brand small{font-size:8px}.role-switch{font-size:8px}.q-grid{grid-template-columns:repeat(6,1fr)}.stat strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Student onboarding and profile details */
.profile-info{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:19px 0}.profile-info>div{background:var(--bg);border:1px solid var(--line);padding:13px 15px;border-radius:13px}.profile-info small{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.profile-info strong{font-size:13px}.profile-info .wide{grid-column:1/-1}.profile-info .ltr{display:inline-block}
body.onboarding{padding-bottom:0;background:#edf3f6}body.onboarding .app-shell{display:block;border:0;max-width:none;min-height:100dvh}body.onboarding .sidebar,body.onboarding .topbar,body.onboarding .bottom-nav{display:none}body.onboarding .workspace{min-height:100dvh;display:flex;align-items:center;background:radial-gradient(ellipse at 85% 10%,#c5eee62b,transparent 50%),radial-gradient(ellipse at 5% 95%,#dce9fb80,transparent 40%)}body.onboarding .main{width:100%;max-width:1100px;padding:40px 28px}.onboard-shell{display:grid;grid-template-columns:.82fr 1fr;min-height:630px;max-width:925px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:29px;overflow:hidden;box-shadow:0 20px 70px #183c5011}.onboard-story{background:var(--navy);color:white;padding:42px 31px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;position:relative;overflow:hidden}.onboard-story:after{content:'';width:450px;height:450px;border:1px solid #ffffff0a;border-radius:50%;position:absolute;right:-170px;bottom:-210px;box-shadow:0 0 0 45px #ffffff02,0 0 0 90px #ffffff02;pointer-events:none}.onboard-story .brand{position:relative;z-index:1}.onboard-story .brand-avatar{width:62px;height:62px;border-radius:19px;border:1px solid #ffffff1a}.onboard-story .brand strong{font-size:30px}.onboard-story .brand small{color:#a2c2cc;font-size:10px}.onboard-story h2{font-size:29px;line-height:1.7;letter-spacing:-.6px;max-width:245px;margin:18px 0 13px}.onboard-story h2 em{font-style:normal;color:#64e0d1}.onboard-story p{font-size:12px;line-height:2;color:#adc1cb;max-width:245px}.onboard-story .story-mark{width:90px;height:96px;border-radius:26px;display:grid;place-items:center;background:#235055;margin-bottom:20px;color:#6ae7d8;transform:rotate(-7deg)}.onboard-story .story-mark .icon{width:53px;height:53px;transform:rotate(7deg);stroke-width:1.4}.onboard-benefits{display:grid;gap:12px;position:relative;z-index:1}.onboard-benefits span{display:flex;align-items:center;gap:9px;color:#bed4da;font-size:11px}.onboard-benefits .icon{width:16px;height:16px;color:#63d5c7}.onboard-form-wrap{padding:36px 34px 27px;display:flex;flex-direction:column;justify-content:center}.onboard-mobile-brand{display:none}.onboard-form-wrap .pill{align-self:flex-start;margin-bottom:15px;font-size:10px}.onboard-form-wrap h1{font-size:27px;letter-spacing:-.7px}.onboard-subtitle{font-size:12px;color:var(--muted);margin:8px 0 13px}.onboard-form label{font-size:11px;color:var(--ink);margin:14px 0 7px}.onboard-form input,.onboard-form select{background:var(--surface);padding:11px 13px;min-height:46px;font-size:13px}.onboard-form input[aria-invalid="true"],.onboard-form select[aria-invalid="true"]{border-color:var(--red);background:#fff8f8}.field-error{display:block;font-size:10px;color:var(--red);line-height:1.8;min-height:0;margin-top:4px}.phone-input{position:relative}.phone-input input{padding-right:16px;padding-left:73px;letter-spacing:.8px;text-align:right;direction:ltr}.phone-country{position:absolute;top:9px;left:8px;display:flex;align-items:center;gap:5px;border-right:1px solid var(--line);padding:2px 10px;color:var(--muted);font-size:10px;pointer-events:none}.phone-country .dot{background:var(--teal);width:5px;height:5px}.onboard-meta{font-size:10px;color:var(--muted);margin-top:8px}.onboard-form .btn{margin-top:24px;font-size:13px;min-height:49px}.onboard-privacy{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:10px;margin-top:13px;line-height:1.85}.onboard-privacy .icon{width:14px;height:14px;margin-top:3px;color:var(--teal-ink)}.onboard-foot{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;margin-top:25px;color:var(--muted)}.onboard-foot strong{color:var(--teal-ink)}body.onboarding #toast{bottom:25px}
body.dark.onboarding{background:#0d2230}body.dark .onboard-form input[aria-invalid="true"],body.dark .onboard-form select[aria-invalid="true"]{background:#422b35}body.dark.onboarding .workspace{background:radial-gradient(ellipse at 85% 10%,#2a676347,transparent 50%)}
@media(max-width:760px){body.onboarding .main{padding:22px 17px 27px}.onboard-shell{display:block;max-width:430px;min-height:0;border-radius:24px;box-shadow:0 10px 35px #16384f0a}.onboard-story{display:none}.onboard-form-wrap{padding:27px 25px 26px}.onboard-mobile-brand{display:flex;justify-content:center;margin:0 0 26px;gap:12px}.onboard-mobile-brand .brand-avatar{width:58px;height:58px;border-radius:17px}.onboard-mobile-brand .brand strong{font-size:26px}.onboard-mobile-brand.brand strong{font-size:26px}.onboard-mobile-brand.brand small{font-size:10px}.onboard-form-wrap h1{font-size:25px}.onboard-subtitle{font-size:11px;margin:7px 0 9px}.onboard-form-wrap .pill{margin-bottom:12px}.onboard-form .field-grid{gap:12px}.onboard-form label{font-size:11px;margin-top:13px}.onboard-form input,.onboard-form select{font-size:12px;padding:12px 11px;min-height:47px}.phone-input input{padding-left:68px;padding-right:13px}.onboard-form .btn{font-size:12px;margin-top:22px}.onboard-privacy{font-size:9px}.onboard-foot{font-size:9px;margin-top:18px}.profile-info{gap:9px;margin-top:15px}.profile-info>div{padding:11px 13px}.profile-info strong{font-size:12px}.profile-card h2{font-size:18px}.profile-card .grow{min-width:0}.profile-card .btn.small{font-size:9px;padding:6px 8px}.field-error{font-size:9px}}
@media(max-width:360px){.onboard-form-wrap{padding-inline:19px}.onboard-form .field-grid{grid-template-columns:1fr;gap:0}.onboard-form-wrap h1{font-size:23px}.onboard-foot{flex-wrap:wrap}}


/* — الحاقی‌های اپ واقعی: بارگذاری، ریاضیات KaTeX و جدول‌های متنی — */
.loading{padding:60px;text-align:center}.loading p{margin-top:15px;color:var(--muted)}
.spinner{display:inline-block;border:3px solid #cfe9e2;border-top-color:var(--teal);width:27px;height:27px;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.katex{direction:ltr;unicode-bidi:isolate;white-space:normal;font-size:1.12em}
.katex-display{overflow-x:auto;overflow-y:hidden;padding:10px 0}
.rich{white-space:pre-wrap;overflow-wrap:anywhere}
.rich p{margin:0 0 10px}
.table-scroll{overflow:auto}
.rich table{width:100%;border-collapse:collapse;font-size:13px;white-space:normal}
.rich th,.rich td{border:1px solid var(--line);padding:8px 12px}
.rich th{background:#f5f8f6}
body.dark .rich th{background:#1a3341}
.option .rich{flex:1}
.stem .rich{font-size:inherit;line-height:inherit}

/* — پس‌زمینهٔ شیشه‌ای سفید (گلس‌مورفیزم) — روی دیزاین اصلی، لایهٔ آخر — */
body{
  background:
    radial-gradient(46rem 46rem at 90% -14%, #aeeedfa6, transparent 62%),
    radial-gradient(38rem 38rem at -14% 30%, #cfe2fbb0, transparent 58%),
    radial-gradient(34rem 34rem at 112% 74%, #fde3bd80, transparent 55%),
    radial-gradient(28rem 28rem at 46% 120%, #bfe6f896, transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #f4f9fb 100%);
  background-attachment: fixed;
}
.card, .sidebar, .topbar{
  background: rgba(255,255,255,.48);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
  border:1px solid rgba(255,255,255,.75);
  box-shadow: 0 12px 38px #19364b14, inset 0 1px 0 #ffffffcc;
}
.topbar{border-bottom:1px solid rgba(255,255,255,.6)}
.bottom-nav{
  background:rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(22px) saturate(1.6);
  backdrop-filter:blur(22px) saturate(1.6);
  border-top:1px solid rgba(255,255,255,.6);
  box-shadow:0 -10px 34px #142b3b0d;
}
.nav-link.active, .pill, .avatar, .stat-icon, .exam-symbol{background:rgba(205,240,231,.78)}
dialog{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(28px) saturate(1.55);
  backdrop-filter:blur(28px) saturate(1.55);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 24px 100px #061e3e30;
}
#toast{background:rgba(16,37,54,.82); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px)}
.empty{background:rgba(255,255,255,.4); border-color:#c4d9e2}
.note{background:rgba(205,240,231,.78)}
.note.warning{background:rgba(255,238,211,.85)}
.tip{background:linear-gradient(145deg, rgba(224,246,240,.9), rgba(248,250,252,.72))}
.sidebar-note{background:linear-gradient(145deg, rgba(224,246,240,.88), rgba(255,255,255,.6))}
.hero{box-shadow:0 20px 50px #1025362e; border:1px solid #ffffff1f}
.onboard-shell{
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(26px) saturate(1.55);
  backdrop-filter:blur(26px) saturate(1.55);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 26px 80px #183c5026;
}
body.onboarding{
  background:
    radial-gradient(44rem 44rem at 86% 6%, #b4e9dc96, transparent 56%),
    radial-gradient(36rem 36rem at 6% 94%, #cfe2fb96, transparent 52%),
    linear-gradient(180deg, #ffffff, #eaf2f6);
}
body.onboarding .workspace{background:none}
.profile-info>div{background:rgba(255,255,255,.5)}
.q-grid button{background:rgba(236,242,246,.85)}
.option{background:rgba(255,255,255,.55)}
.option.selected{background:rgba(221,247,241,.92)}
/* حالت تیرهٔ شیشه‌ای */
body.dark{
  background:
    radial-gradient(46rem 46rem at 90% -14%, #155a5e70, transparent 62%),
    radial-gradient(38rem 38rem at -14% 30%, #1d406477, transparent 58%),
    radial-gradient(34rem 34rem at 112% 74%, #45335a5e, transparent 55%),
    linear-gradient(180deg, #0b1e2b 0%, #0e2230 100%);
  background-attachment: fixed;
}
body.dark .card, body.dark .sidebar, body.dark .topbar, body.dark .bottom-nav{
  background:rgba(17,38,53,.52);
  border-color:rgba(255,255,255,.1);
  box-shadow:none;
}
body.dark dialog{background:rgba(17,38,53,.82); border-color:rgba(255,255,255,.13)}
body.dark .empty{background:rgba(17,38,53,.4)}
