/* ===== CSS نمای انتخاب رشته (استخراج از ادغام_خودشناسی... ویرایش 5) ===== */
/* ===== نمای انتخاب رشته — کاملاً محدود به #view-engine ===== */

/* ============ TOKENS (از سایت قبولی‌یاب) ============ */
#view-engine{
  --black:#050806; --black-2:#0a0f0c;
  --panel:#0c1a14; --panel-2:#0f2419; --panel-glass:rgba(16,46,32,0.55);
  --hair:rgba(20,241,149,0.14); --hair-strong:rgba(20,241,149,0.32);
  --emerald-deep:#063a26; --emerald:#0d7a4a; --emerald-bright:#14f195;
  --emerald-glow:#39ffb0; --emerald-dim:#0a5c39;
  --gold:#e7c873; --text:#eafff3; --text-dim:#9ecdb3; --text-faint:#5d8571;
  --danger:#ff6b6b; --radius:18px; --radius-sm:12px;
  --shadow-glow:0 0 40px rgba(20,241,149,0.10);
}
#view-engine, #view-engine *{box-sizing:border-box; margin:0; padding:0;}
/* نکته: برش افقی روی html انجام می‌شود نه body — چون overflow-x:hidden روی body
   به overflow-y:auto تبدیل می‌شود و body یک scroll container می‌سازد که هرگز اسکرول نمی‌شود
   و position:sticky (ستون نقشه) را بی‌اثر می‌کند */
#view-engine{
  font-family:'Vazirmatn', Tahoma, sans-serif;
  background:
    radial-gradient(ellipse 900px 500px at 82% -8%, rgba(20,241,149,0.16), transparent 60%),
    radial-gradient(ellipse 700px 500px at -10% 30%, rgba(13,122,74,0.14), transparent 55%),
    radial-gradient(ellipse 1000px 700px at 50% 120%, rgba(6,58,38,0.35), transparent 60%),
    var(--black);
  color:var(--text); min-height:100vh; position:relative;
}
#view-engine::before{
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 1px, transparent 1px, transparent 3px);
  opacity:.5;
}
#view-engine .wrap{max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:1;}

/* ============ NAV ============ */
#view-engine nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter:blur(14px) saturate(140%);
  background:linear-gradient(180deg, rgba(5,8,6,0.92), rgba(5,8,6,0.72));
  border-bottom:1px solid var(--hair);
}
#view-engine .nav-inner{max-width:1180px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between;}
#view-engine .brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:19px; letter-spacing:-.3px;}
#view-engine .brand-mark{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(145deg, var(--emerald-bright), var(--emerald-deep) 70%);
  box-shadow:0 0 0 1px rgba(20,241,149,0.35), 0 4px 18px rgba(20,241,149,0.35), inset 0 1px 4px rgba(255,255,255,0.5);
  display:flex; align-items:center; justify-content:center;
}
#view-engine .brand-mark span{color:#031a11; font-weight:900; font-size:16px;}
#view-engine .nav-tag{font-size:12.5px; color:var(--text-dim); font-weight:500;}
#view-engine .nav-links{display:flex; gap:8px; align-items:center;}
#view-engine .nav-link{
  border:none; background:transparent; color:var(--text-dim); font-family:inherit;
  font-size:13px; font-weight:700; padding:9px 16px; border-radius:999px; cursor:pointer;
  transition:all .25s; display:inline-flex; align-items:center; gap:7px;
  border:1px solid transparent;
}
#view-engine .nav-link:hover{color:var(--text); background:rgba(255,255,255,0.05);}
#view-engine .nav-link.active{color:#031a11; background:linear-gradient(135deg, var(--emerald-glow), var(--emerald)); box-shadow:0 4px 14px rgba(20,241,149,0.35);}
@media(max-width:640px){
  #view-engine .nav-inner{flex-direction:column; gap:12px; padding:14px 20px;}
  #view-engine .nav-links{width:100%; justify-content:center; flex-wrap:wrap;}
}

/* ============ HERO ============ */
#view-engine .hero{padding:60px 0 26px; position:relative;}
#view-engine .eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; color:var(--emerald-glow); font-weight:700;
  letter-spacing:.3px; padding:6px 14px; border-radius:999px;
  background:rgba(20,241,149,0.08); border:1px solid var(--hair-strong); margin-bottom:22px;
}
#view-engine .eyebrow i{width:6px; height:6px; border-radius:50%; background:var(--emerald-bright); box-shadow:0 0 10px var(--emerald-bright);}
#view-engine h1{font-size:clamp(32px, 5vw, 52px); font-weight:800; line-height:1.22; letter-spacing:-1px; max-width:860px;}
#view-engine h1 .hl{
  background:linear-gradient(95deg, var(--emerald-glow), var(--emerald-bright) 45%, #7dffce 70%, var(--emerald-glow));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size:200% auto; animation:shine 6s linear infinite;
}
@keyframes shine{to{background-position:200% center;}}
#view-engine .hero-cta{margin-top:26px; display:flex; gap:12px; flex-wrap:wrap;}
#view-engine .hero-stats{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
#view-engine .hstat{
  display:flex; align-items:center; gap:11px; padding:13px 20px; border-radius:var(--radius-sm);
  background:linear-gradient(160deg, rgba(20,241,149,0.07), rgba(255,255,255,0.012));
  border:1px solid var(--hair);
}
#view-engine .hstat .n{font-size:22px; font-weight:900; color:var(--emerald-glow);}
#view-engine .hstat .l{font-size:12.5px; color:var(--text-dim); font-weight:600; line-height:1.5;}

/* ============ PANEL ============ */
#view-engine .panel{
  background:linear-gradient(155deg, rgba(15,36,25,0.85), rgba(8,18,13,0.9));
  border:1px solid var(--hair); border-radius:var(--radius);
  padding:34px; margin:26px 0; box-shadow:var(--shadow-glow), inset 0 1px 0 rgba(255,255,255,0.03);
  position:relative;
  /* clip (نه hidden): hidden پنل را «جعبه‌ی اسکرولِ برنامه‌ای» می‌کند — scrollIntoViewهای
     داخل نما (تأیید دانشگاه/نتایج/…) به‌صورت نامرئی scrollTop پنل را جابه‌جا می‌کردند و
     محتوای فرم از بالای قاب بیرون می‌افتاد (ریشه‌ی «رتبه و منطقه دیده نمی‌شوند»).
     clip همان برش بصری را می‌دهد ولی پنل دیگر اسکرول نمی‌خورد؛ مرورگرهای خیلی قدیمی
     به همان hidden فالبک می‌کنند (JS هم scrollTop را صفر می‌کند). */
  overflow:hidden;   /* فالبک */
  overflow:clip;     /* رفتار صحیح */
}
#view-engine .panel::after{
  content:''; position:absolute; top:-60%; left:-20%; width:60%; height:220%;
  background:linear-gradient(100deg, transparent, rgba(20,241,149,0.05), transparent);
  transform:rotate(12deg); pointer-events:none;
}
#view-engine .panel-title{font-size:20px; font-weight:800; margin-bottom:6px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
#view-engine .panel-title small{font-size:13px; color:var(--text-dim); font-weight:500;}
#view-engine .panel-desc{color:var(--text-dim); font-size:14.5px; margin-bottom:24px; line-height:1.85;}
#view-engine .section-head{margin:56px 0 8px;}
#view-engine .section-head h2{font-size:clamp(24px, 3.4vw, 34px); font-weight:800; letter-spacing:-.5px; display:flex; align-items:center; gap:12px;}
#view-engine .section-head h2 .em{color:var(--emerald-glow);}
#view-engine .section-head p{margin-top:10px; color:var(--text-dim); font-size:15px; line-height:1.9; max-width:720px;}

/* ============ TRACK CARDS ============ */
#view-engine .track-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(215px, 1fr)); gap:16px;}
@media(max-width:900px){#view-engine .track-grid{grid-template-columns:1fr;}}
#view-engine .track-card{
  position:relative; text-align:right; cursor:pointer;
  padding:24px 20px; border-radius:var(--radius-sm);
  background:linear-gradient(160deg, rgba(20,241,149,0.05), rgba(255,255,255,0.01));
  border:1.5px solid rgba(20,241,149,0.14);
  transition:all .3s cubic-bezier(.4,0,.2,1); overflow:hidden;
}
#view-engine .track-card:hover{transform:translateY(-4px); border-color:var(--hair-strong); box-shadow:0 12px 34px rgba(20,241,149,0.14);}
#view-engine .track-card.selected{
  border-color:var(--emerald-bright);
  background:linear-gradient(160deg, rgba(20,241,149,0.16), rgba(20,241,149,0.02));
  box-shadow:0 0 0 1px var(--emerald-bright), 0 14px 40px rgba(20,241,149,0.25);
}
#view-engine .track-icon{
  width:44px; height:44px; border-radius:12px; margin-bottom:14px; font-size:21px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(20,241,149,0.22), rgba(20,241,149,0.04));
  border:1px solid rgba(20,241,149,0.25);
}
#view-engine .track-name{font-size:16.5px; font-weight:800; margin-bottom:4px;}
#view-engine .track-desc{font-size:12.5px; color:var(--text-dim); line-height:1.7;}
#view-engine .track-check{
  position:absolute; top:14px; left:14px; width:22px; height:22px; border-radius:50%;
  border:1.5px solid rgba(20,241,149,0.3); display:flex; align-items:center; justify-content:center;
  font-size:12px; color:transparent; transition:all .25s;
}
#view-engine .track-card.selected .track-check{background:var(--emerald-bright); border-color:var(--emerald-bright); color:#031a11;}

/* ============ FORM ============ */
#view-engine .field{margin-bottom:20px;}
#view-engine .field label{display:block; font-size:13.5px; font-weight:700; color:var(--text-dim); margin-bottom:10px;}
#view-engine .region-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
@media(max-width:640px){#view-engine .region-grid{grid-template-columns:repeat(2,1fr);}}
#view-engine .region-pill{
  cursor:pointer; text-align:center; padding:16px 10px; border-radius:var(--radius-sm);
  border:1.5px solid rgba(20,241,149,0.14); background:rgba(255,255,255,0.015); transition:all .25s;
}
#view-engine .region-pill:hover{border-color:var(--hair-strong);}
#view-engine .region-pill.selected{
  border-color:var(--emerald-bright);
  background:linear-gradient(160deg, rgba(20,241,149,0.18), rgba(20,241,149,0.02));
  box-shadow:0 8px 24px rgba(20,241,149,0.2);
}
#view-engine .region-pill.disabled{opacity:.35; pointer-events:none;}
#view-engine .region-num{font-size:22px; font-weight:900; color:var(--emerald-glow); margin-bottom:3px;}
#view-engine .region-pill .rlabel{font-size:13px; color:var(--text-dim); font-weight:600;}
#view-engine .rank-input-wrap{position:relative; max-width:320px;}
#view-engine input[type=number]{
  width:100%; padding:15px 50px 15px 18px; border-radius:var(--radius-sm);
  background:rgba(0,0,0,0.35); border:1.5px solid rgba(20,241,149,0.2);
  color:var(--text); font-size:19px; font-weight:800; font-family:inherit;
  outline:none; transition:all .25s; -moz-appearance:textfield; appearance:textfield;
}
#view-engine input[type=number]:focus{border-color:var(--emerald-bright); box-shadow:0 0 0 4px rgba(20,241,149,0.1);}
#view-engine input[type=number]::-webkit-inner-spin-button,
#view-engine input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none; margin:0;}
/* باکس رتبه — سبز و هم‌رنگ سایت (ورودی متن است، پس سلکتور جدا دارد) */
#view-engine #rank-input{
  width:100%; padding:15px 20px 15px 58px; border-radius:var(--radius-sm);
  background:linear-gradient(160deg, rgba(20,241,149,0.10), rgba(13,122,74,0.06));
  border:1.5px solid rgba(20,241,149,0.45);
  color:var(--emerald-glow); font-size:19px; font-weight:800; font-family:inherit;
  outline:none; transition:all .25s;
}
#view-engine #rank-input::placeholder{color:rgba(93,133,113,0.85); font-weight:700;}
#view-engine #rank-input:hover{border-color:rgba(20,241,149,0.7);}
#view-engine #rank-input:focus{
  border-color:var(--emerald-bright);
  background:linear-gradient(160deg, rgba(20,241,149,0.14), rgba(13,122,74,0.08));
  box-shadow:0 0 0 4px rgba(20,241,149,0.14), 0 0 20px rgba(20,241,149,0.16);
}
#view-engine .rank-steppers{position:absolute; left:7px; top:7px; bottom:7px; width:36px; display:flex; flex-direction:column; gap:4px;}
#view-engine .rank-step-btn{
  flex:1; border:none; border-radius:8px; cursor:pointer; font-family:inherit;
  font-weight:900; font-size:15px; line-height:1; color:#031a11;
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald) 85%);
  box-shadow:0 2px 8px rgba(20,241,149,0.35), inset 0 1px 1px rgba(255,255,255,0.4);
  display:flex; align-items:center; justify-content:center; transition:all .18s ease;
}
#view-engine .rank-step-btn:hover{filter:brightness(1.12); transform:translateY(-1px);}
#view-engine .rank-step-btn:active{transform:scale(0.92);}
#view-engine .search-select{position:relative; max-width:460px;}
#view-engine .search-input{
  width:100%; padding:13px 16px; border-radius:var(--radius-sm);
  background:rgba(0,0,0,0.35); border:1.5px solid rgba(20,241,149,0.2);
  color:var(--text); font-size:14.5px; font-family:inherit; outline:none;
}
#view-engine .search-input:focus{border-color:var(--emerald-bright);}
#view-engine .search-input::placeholder{color:var(--text-faint);}
#view-engine .dropdown-list{
  position:absolute; z-index:400; top:calc(100% + 6px); right:0; left:0;
  max-height:280px; overflow-y:auto; border-radius:var(--radius-sm);
  background:#081712; border:1px solid var(--hair-strong);
  box-shadow:0 24px 60px rgba(0,0,0,0.65), 0 0 0 1px rgba(20,241,149,0.08); display:none;
}
#view-engine .dropdown-list.open{display:block;}
#view-engine .dropdown-item{padding:11px 16px; font-size:14px; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.03); color:var(--text-dim);}
#view-engine .dropdown-item:hover, #view-engine .dropdown-item.hi{background:rgba(20,241,149,0.1); color:var(--text);}
#view-engine .dropdown-item .cnt{float:left; font-size:11px; color:var(--text-faint);}
#view-engine .chip{
  display:inline-flex; align-items:center; gap:8px; margin-top:10px;
  background:rgba(20,241,149,0.12); border:1px solid var(--hair-strong);
  padding:7px 14px; border-radius:999px; font-size:13px; font-weight:700; color:var(--emerald-glow);
}
#view-engine .chip button{background:none; border:none; color:var(--emerald-glow); cursor:pointer; font-size:15px; line-height:1;}

/* ============ BUTTONS ============ */
#view-engine .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:999px; font-family:inherit;
  font-size:15px; font-weight:800; cursor:pointer; border:none;
  transition:all .25s cubic-bezier(.4,0,.2,1);
}
#view-engine .btn-primary{
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald) 80%);
  color:#031a11;
  box-shadow:0 8px 24px rgba(20,241,149,0.35), inset 0 1px 1px rgba(255,255,255,0.5);
}
#view-engine .btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(20,241,149,0.5), inset 0 1px 1px rgba(255,255,255,0.6);}
#view-engine .btn-primary:disabled{opacity:.35; cursor:not-allowed; transform:none; box-shadow:none;}
#view-engine .btn-ghost{background:transparent; color:var(--text-dim); border:1.5px solid rgba(20,241,149,0.2);}
#view-engine .btn-ghost:hover{border-color:var(--hair-strong); color:var(--text);}
#view-engine .btn-sm{padding:8px 16px; font-size:12.5px;}
#view-engine .actions-row{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}

/* ============ FILTER ROWS ============ */
#view-engine .filters-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:760px){#view-engine .filters-grid{grid-template-columns:1fr;}}
#view-engine .climate-chips{display:flex; gap:8px; flex-wrap:wrap;}
#view-engine .c-chip{
  cursor:pointer; padding:8px 15px; border-radius:999px; font-size:12.5px; font-weight:700;
  border:1.5px solid rgba(20,241,149,0.16); background:rgba(255,255,255,0.015);
  color:var(--text-dim); font-family:inherit; transition:all .22s;
}
#view-engine .c-chip:hover{border-color:var(--hair-strong); color:var(--text);}
#view-engine .c-chip.selected{
  border-color:var(--emerald-bright); color:var(--emerald-glow);
  background:linear-gradient(160deg, rgba(20,241,149,0.16), rgba(20,241,149,0.02));
}
#view-engine select{
  width:100%; padding:13px 16px; border-radius:var(--radius-sm);
  background:rgba(0,0,0,0.35); border:1.5px solid rgba(20,241,149,0.2);
  color:var(--text); font-size:14px; font-family:inherit; outline:none; cursor:pointer;
}
#view-engine select:focus{border-color:var(--emerald-bright);}
#view-engine select option{background:#081712; color:var(--text);}
#view-engine .toggle-row{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--text-dim); font-weight:600;}
#view-engine .toggle{position:relative; width:44px; height:24px; flex:none; cursor:pointer;}
#view-engine .toggle input{opacity:0; width:0; height:0;}
#view-engine .toggle .t-slider{
  position:absolute; inset:0; border-radius:999px; background:rgba(255,255,255,0.09);
  border:1px solid var(--hair); transition:all .25s;
}
#view-engine .toggle .t-slider::before{
  content:''; position:absolute; width:17px; height:17px; border-radius:50%;
  right:3px; top:2.5px; background:var(--text-faint); transition:all .25s;
}
#view-engine .toggle input:checked + .t-slider{background:linear-gradient(135deg, var(--emerald-glow), var(--emerald)); border-color:transparent;}
#view-engine .toggle input:checked + .t-slider::before{transform:translateX(-19px); background:#031a11;}

/* ============ RESULTS ============ */
#view-engine .result-summary{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:24px;}
@media(max-width:760px){#view-engine .result-summary{grid-template-columns:1fr;}}
#view-engine .sum-card{
  text-align:center; padding:20px 14px; border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.018); border:1px solid var(--hair);
}
#view-engine .sum-num{font-size:32px; font-weight:900; line-height:1.2;}
#view-engine .sum-label{font-size:12.5px; color:var(--text-dim); font-weight:600; margin-top:4px;}
#view-engine .category-block{margin:28px 0;}
#view-engine .category-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:10px; flex-wrap:wrap;}
#view-engine .category-title{font-size:17px; font-weight:800; display:flex; align-items:center; gap:9px;}
#view-engine .category-title .dot{width:9px; height:9px; border-radius:50%;}
#view-engine .category-badge{font-size:12px; font-weight:800; padding:5px 13px; border-radius:999px;}
#view-engine .badge-safe{color:#14f195; background:rgba(20,241,149,0.1); border:1px solid rgba(20,241,149,0.3);}
#view-engine .badge-mid{color:#e7c873; background:rgba(231,200,115,0.1); border:1px solid rgba(231,200,115,0.3);}
#view-engine .badge-reach{color:#ff6b6b; background:rgba(255,107,107,0.1); border:1px solid rgba(255,107,107,0.3);}
#view-engine .card-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
@media(max-width:860px){#view-engine .card-grid{grid-template-columns:1fr;}}
#view-engine .uni-card{
  display:flex; gap:16px; align-items:flex-start; padding:18px; border-radius:var(--radius-sm);
  background:linear-gradient(160deg, rgba(20,241,149,0.05), rgba(255,255,255,0.01));
  border:1px solid rgba(20,241,149,0.13); transition:all .25s; position:relative;
}
#view-engine .uni-card:hover{border-color:var(--hair-strong); transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,0.35);}
#view-engine .gauge{position:relative; width:60px; height:60px; flex:none;}
#view-engine .gauge svg{transform:rotate(-90deg);}
#view-engine .gauge .gv{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:900;}
#view-engine .uni-info{min-width:0; flex:1;}
#view-engine .uni-name{font-size:15px; font-weight:800; line-height:1.5; cursor:pointer; transition:color .2s;}
#view-engine .uni-name:hover{color:var(--emerald-glow);}
#view-engine .uni-major{font-size:13px; color:var(--emerald-glow); font-weight:700; margin-top:2px;}
#view-engine .uni-meta{display:flex; flex-wrap:wrap; gap:6px; margin-top:9px;}
#view-engine .meta-tag{
  font-size:11px; color:var(--text-dim); background:rgba(255,255,255,0.045);
  border:1px solid rgba(255,255,255,0.06); padding:4px 10px; border-radius:999px; font-weight:600;
}
#view-engine .meta-tag.city-tag{color:var(--emerald-glow); border-color:rgba(20,241,149,0.22); background:rgba(20,241,149,0.06);}
#view-engine .meta-tag.dist-tag{color:var(--gold); border-color:rgba(231,200,115,0.25); background:rgba(231,200,115,0.07);}
#view-engine .mini-btn{
  border:none; font-family:inherit; cursor:pointer; font-size:11.5px; font-weight:800;
  padding:6px 13px; border-radius:999px; transition:all .2s;
  display:inline-flex; align-items:center; gap:6px;
}
#view-engine .mini-btn.map{background:rgba(20,241,149,0.12); color:var(--emerald-glow); border:1px solid rgba(20,241,149,0.25);}
#view-engine .mini-btn.map:hover{background:rgba(20,241,149,0.22);}
#view-engine .mini-btn.save{background:rgba(231,200,115,0.1); color:var(--gold); border:1px solid rgba(231,200,115,0.25);}
#view-engine .mini-btn.save:hover{background:rgba(231,200,115,0.2);}
#view-engine .more-btn-wrap{display:flex; justify-content:center; margin-top:16px;}
#view-engine .empty-state{text-align:center; padding:46px 20px; color:var(--text-faint); font-size:14.5px; line-height:2;}
#view-engine .empty-state .em-icon{font-size:40px; margin-bottom:10px;}
#view-engine .results-subtitle{font-size:13.5px; color:var(--text-dim); margin-bottom:18px; font-weight:600;}
#view-engine .results-subtitle b{color:var(--emerald-glow);}

#view-engine .uni-ico{
  width:14px; height:14px; display:inline-block; vertical-align:-2px; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;
}
#view-engine .ud-title .uni-ico{width:14px; height:14px; vertical-align:-2px;}
#view-engine .ud-sel-title .uni-ico{width:12px; height:12px; vertical-align:-2px;}
#view-engine .uni-d-tag .uni-ico{width:13px; height:13px; vertical-align:-2px;}
#view-engine .hero .sub .uni-ico, #view-engine .section-head p .uni-ico, #view-engine .prio-hint .uni-ico{width:13px; height:13px; vertical-align:-2px; color:var(--emerald-glow);}

/* ============ محل سکونت (دو مرحله‌ای) ============ */
#view-engine .home-loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
@media(max-width:480px){#view-engine .home-loc-grid{grid-template-columns:1fr;}}
#view-engine .home-loc-grid select{padding:11px 12px; font-size:13px;}
#view-engine .home-loc-grid select:disabled{opacity:.45; cursor:not-allowed;}

/* ============ راهنمای تحلیل (الزام انتخاب دانشگاه) ============ */
#view-engine .submit-hint{
  margin-top:10px; font-size:11.5px; font-weight:700; color:var(--gold); line-height:1.9;
  background:rgba(231,200,115,0.06); border:1px dashed rgba(231,200,115,0.35);
  border-radius:10px; padding:8px 12px;
}
#view-engine .submit-hint .uni-ico{width:12px; height:12px; vertical-align:-2px;}

/* ===== اخطار بخش‌های ناقص هنگام تحلیل — لرزش دکمه + استیکر چراغ قرمز ===== */
#view-engine .btn-primary.qb-shaking{animation:qbShake .55s cubic-bezier(.36,.07,.19,.97);}
@keyframes qbShake{
  10%,90%{transform:translateX(-2px);}
  20%,80%{transform:translateX(4px);}
  30%,50%,70%{transform:translateX(-7px);}
  40%,60%{transform:translateX(7px);}
}
#view-engine .qb-warn-stick{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  font-size:10.5px; font-weight:800; color:#ff9b9b;
  background:rgba(255,107,107,.1); border:1px solid rgba(255,107,107,.45);
  padding:3px 10px; border-radius:999px; margin-inline-start:8px; white-space:nowrap;
  animation:qbRedBlink 1.15s ease-in-out infinite;
}
#view-engine .qb-warn-stick::before{
  content:''; width:9px; height:9px; border-radius:50%; flex:none;
  background:var(--danger); box-shadow:0 0 9px rgba(255,107,107,.95), 0 0 16px rgba(255,107,107,.5);
}
@keyframes qbRedBlink{0%,100%{opacity:1;}50%{opacity:.55;}}
@media (prefers-reduced-motion: reduce){
  #view-engine .btn-primary.qb-shaking{animation:none;}
  #view-engine .qb-warn-stick{animation:none;}
}

/* ============ LAYOUT — فرم بالا و وسط‌چین | لیست ۱ و ۲ هم‌ردیف در یک خط ============ */
/* فرم دستیار همیشه وسط صفحه است (قبل و بعد از تحلیل) — دیگر در گوشه‌ی راست دسکتاپ نیست */
#view-engine .merge-layout{display:block;}
#view-engine .engine-side{max-width:1020px; margin-inline:auto; min-width:0;}
/* موبایل: حاشیه‌ی کمتر تا باکس از تمام عرض صفحه استفاده کند */
@media(max-width:640px){
  #view-engine .wrap{padding:0 14px;}
  #view-engine #assistant-panel{padding:16px 14px !important;}
}
/* ناحیه‌ی نتایج: زیرنویس + خلاصه + دو لیستِ هم‌عرض و هم‌قد در یک ردیف */
#view-engine .lists-wrap{display:none; margin-top:26px;}
#view-engine .merge-layout.has-results .lists-wrap{display:block;}
#view-engine .lists-wrap .results-subtitle{text-align:center; margin-bottom:16px;}
#view-engine .lists-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch;}
#view-engine .list-col{min-width:0; display:flex; flex-direction:column;}
#view-engine .list-col .out-collapsible{flex:1; display:flex; flex-direction:column; margin-top:0;}
/* رفع «جعبه‌ی خالیِ کش‌آمده» (گزارش کاربر): لیستِ «بسته» دیگر با flex:1 تا ارتفاعِ
   لیستِ بازِ کناریش کش نمی‌آید — وگرنه یک قابِ تاریکِ خالی به‌اندازه‌ی کل ستون
   می‌شد (همان فضای خالیِ پایین صفحه). فقط لیستِ باز کشیده می‌شود تا هم‌قد بمانند. */
#view-engine .list-col .out-collapsible:not(.open){flex:0 0 auto;}
#view-engine .list-col .out-collapsible.open .out-body{flex:1;}
/* موبایل/تبلت: دو لیست زیر هم */
@media(max-width:1020px){#view-engine .lists-row{grid-template-columns:1fr; gap:14px;}}
/* کارت‌ها در ستون‌های نیم‌عرض: تک‌ستونه و بدون سرریز */
#view-engine .list-col .card-grid{grid-template-columns:minmax(0,1fr) !important; gap:10px;}
#view-engine .list-col .uni-card{min-width:0; max-width:100%; padding:12px; gap:10px;}
#view-engine .list-col .uni-name{font-size:13.5px; overflow-wrap:anywhere; word-break:break-word;}
#view-engine .list-col .uni-major{font-size:12px; overflow-wrap:anywhere;}
#view-engine .list-col .ob-major{font-size:13.5px; overflow-wrap:anywhere;}
#view-engine .list-col .uni-info{min-width:0;}
#view-engine .list-col .uni-meta{max-width:100%;}
#view-engine .list-col .meta-tag{max-width:100%; overflow-wrap:anywhere;}
#view-engine .list-col .out-block{padding:10px;}
#view-engine .list-col .out-toggle{padding:11px 12px;}
#view-engine .list-col .out-toggle .ot-title{font-size:12.5px;}
#view-engine .list-col .out-toggle .ot-title small{font-size:9.5px;}
#view-engine .list-col .smart-note{font-size:11px; padding:9px 11px;}
#view-engine .list-col .more-btn-wrap .btn{font-size:11.5px; padding:7px 14px;}
/* ============ استیکر چراغ کنار اسم لیست‌ها — خاموش/روشن ============ */
/* شبیه استیکر طلایی انتخاب دانشگاه‌ها: بسته = چراغ خاموشِ کم‌رنگ، باز = چراغ روشنِ طلایی با هاله‌ی نبضی */
#view-engine .bulb-badge{
  width:32px; height:32px; border-radius:10px; flex:none;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.028); border:1px solid rgba(231,200,115,0.3);
  transition:all .35s;
}
#view-engine .bulb-ico{
  width:18px; height:18px; fill:none;
  stroke:rgba(231,200,115,0.5); stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round; transition:all .35s;
}
#view-engine .out-toggle:hover .bulb-badge{border-color:rgba(231,200,115,0.55);}
#view-engine .out-collapsible.open .bulb-badge{
  background:linear-gradient(135deg, var(--gold), #c9a44d); border-color:transparent;
  animation:bulb-glow 2.4s ease-in-out infinite;
}
#view-engine .out-collapsible.open .bulb-ico{stroke:#231d0e; stroke-width:2;}
@keyframes bulb-glow{
  0%,100%{box-shadow:0 0 8px rgba(231,200,115,0.38), 0 0 20px rgba(231,200,115,0.12);}
  50%{box-shadow:0 0 15px rgba(231,200,115,0.72), 0 0 34px rgba(231,200,115,0.25);}
}
#view-engine .engine-side .track-grid{gap:10px;}
#view-engine .engine-side .track-card{padding:14px 12px;}
#view-engine .engine-side .track-icon{width:34px; height:34px; font-size:17px; border-radius:10px; margin-bottom:9px;}
#view-engine .engine-side .track-name{font-size:13.5px;}
#view-engine .engine-side .track-desc{font-size:11px;}
#view-engine .engine-side .region-grid{gap:8px;}
#view-engine .engine-side .region-pill{padding:12px 6px;}
#view-engine .engine-side .region-num{font-size:18px;}
#view-engine .engine-side .rank-input-wrap, #view-engine .engine-side .search-select{max-width:none;}
#view-engine .engine-side .actions-row{margin-top:16px;}
/* ============ جعبه‌ی اسکرولی «مشخصات داوطلب» (خواسته‌ی کاربر) ============
   فرمِ کامل (گروه → منطقه → رتبه → رشته‌ها → اولویت‌ها) بسیار بلند می‌شود و
   صفحه را چند برابرِ ارتفاع نمایشگر می‌کشد؛ حالا خودِ جعبه اسکرول می‌خورد:
   همه‌ی فیلدها سر جایشان می‌مانند، دکمه‌ی تحلیل همیشه پایینِ جعبه چسبان است
   و کاربر داخل همان باکس بالا/پایین می‌رود — نه کل صفحه.
   (خواسته‌ی بعدی کاربر): جعبه بلندتر شد تا المان‌های بیشتری بدون اسکرولِ
   داخلی دیده شوند — تقریباً همه‌ی ارتفاع نمایشگر (حداقل ۵۲۰px، سقف ۲۴۰۰px). */
#view-engine #engine-form{
  max-height:clamp(520px, calc(100vh - 60px), 2400px);
  overflow-y:auto;
  border:1px solid rgba(20,241,149,0.12);
  border-radius:var(--radius-sm);
  padding:6px 12px 2px;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:rgba(20,241,149,0.35) transparent;
}
#view-engine #engine-form::-webkit-scrollbar{width:6px;}
#view-engine #engine-form::-webkit-scrollbar-track{background:transparent;}
#view-engine #engine-form::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.25); border-radius:999px;}
/* دکمه‌ی تحلیل + راهنمای آن — چسبان به پایینِ جعبه‌ی اسکرولی؛ همیشه در دید */
#view-engine #engine-form .actions-sticky{
  position:sticky; bottom:0; z-index:3;
  background:linear-gradient(to top, var(--panel) 68%, rgba(12,26,20,0.9) 84%, rgba(12,26,20,0));
  padding:12px 2px 4px; margin-top:8px;
}
/* حالت جمع‌شده (بعد از تحلیل): قاب و اسکرول برداشته می‌شود — فقط خلاصه می‌ماند */
#view-engine #engine-form.collapsed{
  max-height:none; overflow:visible;
  border-color:transparent; padding:0;
}
#view-engine #engine-form.collapsed .field,
#view-engine #engine-form.collapsed .grad-line,
#view-engine #engine-form.collapsed .actions-row,
#view-engine #engine-form.collapsed .actions-sticky,
#view-engine #engine-form.collapsed .submit-hint{display:none !important;}
/* نکته‌ی !important: فیلدهای progressive (منطقه/رتبه/رشته‌ها/اولویت‌ها) با
   style="display:block" درون‌خطی نمایان می‌شوند؛ بدون !important قانونِ collapsed
   از آن شکست می‌خورد و فرمِ جمع‌شده «نصفه‌جمع» می‌ماند — رشته‌ها و اولویت‌ها
   دیده می‌شدند ولی محل سکونت/دکمه‌ی تحلیل نه (همان «پایینِ خالیِ» گزارش کاربر). */
/* موبایل: جعبه‌ی اسکرولی با ارتفاع متناسب + حاشیه‌ی کمتر (بلندتر از قبل) */
@media(max-width:640px){
  #view-engine #engine-form{max-height:clamp(420px, calc(100vh - 150px), 1400px); padding:4px 8px 1px;}
}
#view-engine .form-summary{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  padding:12px 14px; border:1px solid var(--hair); border-radius:var(--radius-sm);
  background:rgba(20,241,149,0.04); margin-bottom:6px;
}
#view-engine .form-summary .fs-chip{font-size:12px; font-weight:700; color:var(--text-dim); background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07); padding:5px 11px; border-radius:999px;}
#view-engine .form-summary .fs-chip b{color:var(--emerald-glow);}

/* ============ انتخاب رشته‌ها (چندگانه) + اولویت‌بندی ============ */
#view-engine .major-pick-list{
  max-height:430px; overflow-y:auto; border:1px solid rgba(20,241,149,0.18);
  border-radius:var(--radius-sm); background:rgba(0,0,0,0.25); margin-top:8px;
}
#view-engine .major-pick-list::-webkit-scrollbar{width:5px;}
#view-engine .major-pick-list::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.22); border-radius:999px;}
#view-engine .major-pick{
  display:flex; align-items:center; gap:12px; padding:13px 15px; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.035); transition:background .15s;
}
#view-engine .major-pick:last-child{border-bottom:none;}
#view-engine .major-pick:hover{background:rgba(20,241,149,0.06);}
#view-engine .mp-check{
  width:32px; height:32px; border-radius:50%; flex:none; font-size:13.5px; font-weight:900;
  border:1.5px solid rgba(20,241,149,0.35); color:transparent;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
#view-engine .major-pick.sel .mp-check{
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald));
  border-color:transparent; color:#031a11;
}
#view-engine .mp-name{flex:1; font-size:15px; font-weight:700; line-height:1.6;}
#view-engine .major-pick.sel .mp-name{color:var(--emerald-glow);}
#view-engine .mp-meta{font-size:12px; color:var(--text-faint); font-weight:700; flex:none;}

#view-engine .prio-box{
  border:1px solid rgba(231,200,115,0.3); border-radius:var(--radius-sm);
  background:linear-gradient(160deg, rgba(231,200,115,0.06), rgba(255,255,255,0.01));
  padding:16px 18px;
}
#view-engine .prio-hint{font-size:12px; color:var(--text-faint); line-height:1.8; margin-bottom:12px;}
#view-engine .prio-item{margin-bottom:10px;}
/* جلوگیری از پرش اسکرول مرورگر (scroll anchoring) هنگام باز/بسته شدن کشویی دانشگاه‌ها */
#view-engine #prio-list{overflow-anchor:none;}
#view-engine .prio-item:last-child{margin-bottom:0;}
#view-engine .prio-row{
  display:flex; align-items:center; gap:12px; padding:13px 15px; border-radius:12px;
  background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.05);
}
#view-engine .prio-item:last-child .prio-row{margin-bottom:0;}
#view-engine .pr-uni-count{
  font-size:11.5px; font-weight:800; color:#231d0e; background:linear-gradient(135deg, var(--gold), #c9a44d);
  padding:3px 10px; border-radius:999px; white-space:nowrap;
  display:inline-flex; align-items:center; gap:4px; vertical-align:middle;
}
#view-engine .pr-uni-count .uni-ico{width:12px; height:12px;}
/* رشته‌ای که هنوز دانشگاهی برایش انتخاب نشده — هشدار */
#view-engine .prio-row.needs-uni{border-color:rgba(255,107,107,0.45); background:rgba(255,107,107,0.055);}
#view-engine .prio-row.needs-uni .pr-name{color:var(--text-dim);}
#view-engine .pr-warn{
  display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%;
  background:rgba(255,107,107,0.16); border:1px solid rgba(255,107,107,0.55); color:var(--danger);
  font-size:12px; font-weight:900; cursor:pointer; flex:none; vertical-align:middle;
  margin-right:2px; transition:all .15s; font-family:inherit; padding:0; line-height:1;
}
#view-engine .pr-warn:hover{background:rgba(255,107,107,0.3);}
#view-engine .pr-btn.uni.attn{animation:uni-attn 1.6s ease-in-out infinite;}
@keyframes uni-attn{0%,100%{box-shadow:0 0 0 rgba(231,200,115,0);}50%{box-shadow:0 0 12px rgba(231,200,115,0.7);}}
/* راهنمای داخل ردیفِ تأییدنشده: متن + فلش چپ (دسکتاپ) یا فلش پایینِ راست (موبایل) که به آیکون دانشگاه اشاره می‌کند */
#view-engine .pr-uni-hint{
  display:inline-flex; align-items:center; gap:5px; flex:none;
  font-size:11.5px; font-weight:800; color:var(--gold); white-space:nowrap; line-height:1.4;
}
#view-engine .pr-uni-hint .hint-arr{
  width:13px; height:13px; flex:none; fill:none; stroke:currentColor;
  stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;
}
/* فلشِ چپ (دسکتاپ): به استیکر دانشگاه در همان ردیف اشاره می‌کند */
#view-engine .pr-uni-hint .ha-l{animation:hint-nudge 1.1s ease-in-out infinite;}
@keyframes hint-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(-4px);}}
/* فلشِ پایین (موبایل): با order:-1 در منتهی‌الیه‌ی راستِ راهنما — دقیقاً بالای آیکون دانشگاه */
#view-engine .pr-uni-hint .ha-d{display:none;}
@keyframes hint-nudge-d{0%,100%{transform:translateY(0);}50%{transform:translateY(3px);}}
#view-engine .pr-num{
  width:34px; height:34px; border-radius:10px; flex:none; background:var(--gold); color:#231d0e;
  font-size:15px; font-weight:900; display:flex; align-items:center; justify-content:center;
}
#view-engine .pr-name{flex:1; font-size:15px; font-weight:700; line-height:1.6; min-width:0;}
#view-engine .pr-btns{display:flex; gap:6px;}
#view-engine .pr-btn{
  width:33px; height:33px; border-radius:10px; border:1px solid rgba(20,241,149,0.25);
  background:rgba(20,241,149,0.07); color:var(--emerald-glow); font-family:inherit;
  font-size:14px; font-weight:900; cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:all .15s; padding:0;
}
#view-engine .pr-btn:hover{background:rgba(20,241,149,0.16);}
#view-engine .pr-btn:disabled{opacity:.25; cursor:default;}
#view-engine .pr-btn.rm{border-color:rgba(255,107,107,0.3); background:rgba(255,107,107,0.07); color:var(--danger);}
#view-engine .pr-btn.rm:hover{background:rgba(255,107,107,0.16);}
#view-engine .pr-btn.uni{border-color:rgba(231,200,115,0.35); background:rgba(231,200,115,0.08); color:var(--gold);}
#view-engine .pr-btn.uni:hover{background:rgba(231,200,115,0.18);}
#view-engine .pr-btn.uni.open{background:rgba(231,200,115,0.24); color:#fff3c4; border-color:rgba(231,200,115,0.6);}
#view-engine .pr-btn.uni .uni-ico{width:16px; height:16px;}
/* رشته‌ای که دانشگاه‌هایش انتخاب و «تأیید نهایی» شده — حالت سبز */
#view-engine .prio-row.confirmed{border-color:rgba(20,241,149,0.4); background:rgba(20,241,149,0.055);}
#view-engine .pr-conf{
  display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%;
  background:rgba(20,241,149,0.16); border:1px solid rgba(20,241,149,0.6); color:var(--emerald-glow);
  font-size:12px; font-weight:900; cursor:default; flex:none; vertical-align:middle;
}
/* بج «در انتظار تأیید» — خط‌چین به‌جای طلایی توپر */
#view-engine .pr-uni-count.pending{
  background:transparent; border:1px dashed rgba(231,200,115,0.55); color:var(--gold);
}
/* ─── موبایل: چیدمان سه‌خطیِ ردیفِ اولویت ───
   خط ۱: شماره + نام | خط ۲: راهنمای «برای انتخاب دانشگاه‌ها کلیک کنید» با فلشِ رو‌به‌پایین | خط ۳: دکمه‌ها
   نکته‌ی حیاتی: قاعده‌ی تمام‌عرض فقط برای ردیفِ اولویت (>) اعمال می‌شود — نه دکمه‌های ریزِ
   داخلِ کشویی دانشگاه‌ها (.urow)؛ قبلاً نامِ دانشگاه صفر-عرض می‌شد و متنش روی دکمه‌ها می‌افتاد. */
@media(max-width:640px){
  #view-engine .prio-row{flex-wrap:wrap; row-gap:10px;}
  /* خط ۱: شماره + نام رشته — نام خودش flex-wrap است تا نشان طلایی و شمارنده‌ی دانشگاه
     هرکدام در خطِ خودشان بیایند و روی دکمه‌ها نیفتند */
  #view-engine .pr-name{flex:1 1 calc(100% - 46px); display:flex; flex-wrap:wrap;
    align-items:center; gap:5px 7px; min-width:0; line-height:1.55; overflow-wrap:break-word;}
  /* خط ۲: راهنما بالای دکمه‌ها — فلشِ رو‌به‌پایین با order:-1 در منتهی‌الیه‌ی راست می‌نشیند؛
     دقیقاً بالای آیکون دانشگاه (اولین دکمه از راست) و اشاره‌گر به همان آیکون */
  #view-engine .pr-uni-hint{order:8; flex:1 1 100%; min-width:0; display:flex;
    align-items:center; justify-content:flex-start; white-space:normal; margin-top:0;}
  #view-engine .pr-uni-hint .ha-l{display:none;}
  #view-engine .pr-uni-hint .ha-d{display:block; order:-1; width:16px; height:16px;
    margin-right:8px; animation:hint-nudge-d 1.1s ease-in-out infinite;}
  /* خط ۳: دکمه‌های جابه‌جایی/دانشگاه/حذف — تمام‌عرض، راست‌چین (شروعِ RTL) */
  #view-engine .prio-row > .pr-btns{order:9; flex:1 1 100%; justify-content:flex-start;}
  /* ردیف‌های داخلِ کشویی دانشگاه: دکمه‌ها اندازه‌ی طبیعیِ خودشان را می‌گیرند
     و نام دانشگاه له نمی‌شود */
  #view-engine .urow .pr-btns{flex:0 0 auto; order:0;}
  #view-engine .un-name{flex:1 1 0; min-width:0; overflow-wrap:break-word;}
}

/* ============ کشویی دانشگاه‌های هر رشته ============ */
#view-engine .uni-drop{
  margin:8px 0 12px 46px; border:1px solid rgba(20,241,149,0.18); border-radius:12px;
  background:rgba(0,0,0,0.28); padding:12px 14px;
  animation:outDrop .25s ease;
}
/* موبایل: کشویی دانشگاه‌ها تمام‌عرض زیر ردیف — تورفتگی ۴۶px فقط برای صفحه‌های پهن */
@media(max-width:640px){
  #view-engine .uni-drop{margin:8px 0 12px 0;}
}
#view-engine .ud-head{display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:6px;}
#view-engine .ud-title{font-size:13px; font-weight:800; color:var(--emerald-glow);}
#view-engine .ud-acts{display:flex; gap:6px; flex-wrap:wrap;}
#view-engine .ud-hint{font-size:11.5px; color:var(--text-faint); line-height:1.8; margin-bottom:10px;}
#view-engine .ud-picks{
  max-height:280px; overflow-y:auto; border:1px solid rgba(255,255,255,0.05);
  border-radius:9px; background:rgba(0,0,0,0.22);
}
#view-engine .ud-picks::-webkit-scrollbar{width:4px;}
#view-engine .ud-picks::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.22); border-radius:999px;}
#view-engine .uni-pick{
  display:flex; align-items:center; gap:10px; padding:11px 13px; cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.03); transition:background .15s;
}
#view-engine .uni-pick:last-child{border-bottom:none;}
#view-engine .uni-pick:hover{background:rgba(20,241,149,0.06);}
#view-engine .up-check{
  width:27px; height:27px; border-radius:50%; flex:none; font-size:12px; font-weight:900;
  border:1.5px solid rgba(20,241,149,0.35); color:transparent;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
#view-engine .uni-pick.sel .up-check{
  background:linear-gradient(135deg, var(--gold), #c9a44d); border-color:transparent; color:#231d0e;
}
#view-engine .up-name{flex:1; font-size:13.5px; font-weight:700; line-height:1.5; min-width:0; overflow-wrap:anywhere;}
#view-engine .uni-pick.sel .up-name{color:var(--gold);}
#view-engine .ud-sel-title{font-size:12.5px; font-weight:800; color:var(--gold); margin:12px 0 8px;}
#view-engine .urow{
  display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:10px;
  background:rgba(231,200,115,0.05); border:1px solid rgba(231,200,115,0.22); margin-bottom:8px;
}
#view-engine .urow:last-child{margin-bottom:0;}
#view-engine .un-num{
  width:27px; height:27px; border-radius:8px; flex:none; font-size:12.5px; font-weight:900;
  background:rgba(231,200,115,0.16); color:var(--gold); border:1px solid rgba(231,200,115,0.3);
  display:flex; align-items:center; justify-content:center;
}
#view-engine .un-name{flex:1; font-size:13.5px; font-weight:700; line-height:1.5; min-width:0;}
#view-engine .urow .pr-btn{width:28px; height:28px; font-size:12.5px; border-radius:9px;}
/* دکمه‌ی «تأیید نهایی» داخل کشویی دانشگاه‌ها */
#view-engine .ud-confirm{display:flex; justify-content:center; margin-top:10px; padding-top:11px; border-top:1px dashed rgba(20,241,149,0.2);}
#view-engine .ud-confirm .btn{width:100%;}
#view-engine .ud-confirm-btn{
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald) 80%);
  color:#031a11; border:none; box-shadow:0 6px 18px rgba(20,241,149,0.3);
}
#view-engine .ud-confirm-btn:hover{filter:brightness(1.08);}
#view-engine .ck-ico{width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round;}
#view-engine .ud-confirm-btn.done{background:rgba(20,241,149,0.14); color:var(--emerald-glow); box-shadow:none; border:1px solid rgba(20,241,149,0.4);}
/* پنل دستیار با block:start اسکرول می‌شود؛ در موبایل ناوبار دو ردیفه (~۱۵۸px) است */
@media(max-width:640px){
  #view-engine #assistant-panel{scroll-margin-top:170px;}
}
/* دکمه‌ی «تأیید نهایی» فشرده در سربرگ کشویی (کنار «پاک کردن») — برای اینکه
   در موبایل لازم نباشد تا پایین کشویی اسکرول کنی؛ همان رفتار دکمه‌ی پایین را دارد */
#view-engine .mini-btn.ud-top-confirm{
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald) 80%);
  color:#031a11; border:none; box-shadow:0 4px 12px rgba(20,241,149,0.28);
}
#view-engine .mini-btn.ud-top-confirm:hover{filter:brightness(1.08);}
#view-engine .mini-btn.ud-top-confirm .ck-ico{stroke:currentColor;}
#view-engine .mini-btn.ud-top-confirm.done{background:rgba(20,241,149,0.14); color:var(--emerald-glow); box-shadow:none; border:1px solid rgba(20,241,149,0.4);}
@media(max-width:640px){
  /* موبایل: دکمه‌های سربرگ کشویی تمام‌عرض و هم‌اندازه در یک ردیف —
     «همه‌ی دانشگاه‌ها» + «پاک کردن» + «تأیید نهایی» همه بالای کشویی و بدون اسکرول */
  #view-engine .ud-head{margin-bottom:8px;}
  #view-engine .ud-acts{width:100%; gap:5px;}
  #view-engine .ud-acts .mini-btn{flex:1 1 auto; justify-content:center; padding:8px 6px; font-size:11px;}
  #view-engine .ud-acts .mini-btn .ck-ico{width:13px; height:13px;}
}

/* ============ دو لیست خروجی (کشویی — باز شدن به سمت پایین) ============ */
#view-engine .out-collapsible{
  border:1px solid rgba(20,241,149,0.18); border-radius:14px; overflow:hidden; margin-top:14px;
  background:linear-gradient(160deg, rgba(20,241,149,0.035), rgba(255,255,255,0.008));
}
#view-engine .out-collapsible.smart{border-color:rgba(20,241,149,0.24);}
#view-engine .out-toggle{
  display:flex; align-items:center; gap:10px; width:100%; text-align:right; cursor:pointer;
  padding:13px 15px; background:rgba(20,241,149,0.05); border:none; font-family:inherit;
  color:var(--text); font-size:14px; font-weight:800; transition:background .2s; position:relative;
}
#view-engine .out-toggle:hover{background:rgba(20,241,149,0.1);}
#view-engine .out-collapsible.smart .out-toggle{color:var(--emerald-glow);}
#view-engine .out-toggle .ost-ico{font-size:17px; flex:none;}
#view-engine .out-toggle .ot-title{flex:1; min-width:0; line-height:1.55; font-size:14px;}
#view-engine .out-toggle .ot-title small{display:block; font-size:10.5px; color:var(--text-faint); font-weight:600; margin-top:2px;}
#view-engine .ot-count{
  font-size:10.5px; font-weight:800; color:var(--emerald-glow); white-space:nowrap;
  background:rgba(20,241,149,0.1); border:1px solid rgba(20,241,149,0.25);
  padding:3px 10px; border-radius:999px;
}
#view-engine .out-collapsible.smart .ot-count{color:var(--gold); background:rgba(231,200,115,0.08); border-color:rgba(231,200,115,0.28);}
#view-engine .ot-chev{font-size:13px; color:var(--text-dim); transition:transform .25s; flex:none;}
#view-engine .out-collapsible.open .ot-chev{transform:rotate(180deg); color:var(--emerald-glow);}
#view-engine .out-collapsible.smart.open .ot-chev{color:var(--gold);}
#view-engine .out-body{display:none; padding:2px 12px 12px;}
#view-engine .out-collapsible.open .out-body{display:block; animation:outDrop .28s ease;}
@keyframes outDrop{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:none;}}
#view-engine .out-section-title{
  display:flex; align-items:center; gap:9px; font-size:15px; font-weight:800;
  margin:14px 0 12px; flex-wrap:wrap;
}
#view-engine .out-section-title small{font-size:11.5px; color:var(--text-faint); font-weight:600;}
#view-engine .out-section-title .ost-ico{font-size:18px;}
#view-engine .out-section-title.smart{color:var(--emerald-glow);}
#view-engine .out-block{
  border:1px solid rgba(20,241,149,0.16); border-radius:var(--radius-sm); padding:14px;
  margin-bottom:14px; background:linear-gradient(160deg, rgba(20,241,149,0.045), rgba(255,255,255,0.01));
}
#view-engine .out-head{display:flex; align-items:flex-start; gap:11px; margin-bottom:12px;}
#view-engine .ob-badge{
  width:30px; height:30px; border-radius:10px; flex:none;
  background:linear-gradient(135deg, var(--gold), #c9a44d); color:#231d0e;
  font-size:14px; font-weight:900; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(231,200,115,0.25);
}
#view-engine .ob-major{font-size:15px; font-weight:800; line-height:1.5;}
#view-engine .ob-sub{font-size:11.5px; color:var(--text-dim); margin-top:3px; font-weight:600;}
#view-engine .smart-note{
  font-size:12px; color:var(--text-dim); line-height:1.9;
  background:rgba(20,241,149,0.05); border:1px solid rgba(20,241,149,0.16);
  border-radius:var(--radius-sm); padding:11px 14px; margin-bottom:14px;
}

/* ============ خروجی نهایی — گزارش تک‌صفحه‌ای ============ */
#view-engine .final-export{
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  margin-top:22px; padding:18px 20px; border-radius:var(--radius-sm);
  background:linear-gradient(150deg, rgba(231,200,115,0.10), rgba(20,241,149,0.05));
  border:1px solid rgba(231,200,115,0.42);
  box-shadow:0 0 30px rgba(231,200,115,0.07);
}
#view-engine .fe-info{flex:1; min-width:260px;}
#view-engine .fe-title{font-size:15.5px; font-weight:800; color:var(--gold);}
#view-engine .fe-desc{font-size:12.5px; color:var(--text-dim); line-height:1.95; margin-top:5px; max-width:680px;}
#view-engine .fe-desc b{color:var(--text);}
#view-engine .fe-btn{
  flex:none; font-size:16.5px; font-weight:900; padding:16px 36px; border-radius:14px; letter-spacing:-.2px;
  border:1.5px solid rgba(231,200,115,.62);
  background:linear-gradient(135deg, #f3dd9a 0%, #e7c873 48%, #c9a44d 100%);
  color:#231d0e;
  box-shadow:0 8px 26px rgba(231,200,115,.22);
}
#view-engine .fe-btn:hover{transform:translateY(-2px); box-shadow:0 12px 34px rgba(231,200,115,.34);}
#view-engine .fe-btn:active{transform:translateY(0); box-shadow:0 6px 18px rgba(231,200,115,.22);}
@media(max-width:640px){
  #view-engine .final-export{flex-direction:column; align-items:stretch; text-align:center; padding:16px 14px;}
}
/* ============ مودال راهنمای شروع (قاب‌دار) ============ */
#view-engine .intro-modal{position:fixed; inset:0; z-index:1100; display:none; align-items:center; justify-content:center; padding:22px;}
#view-engine .intro-modal.open{display:flex;}
#view-engine .im-backdrop{position:absolute; inset:0; background:rgba(2,6,4,0.78); backdrop-filter:blur(7px);}
#view-engine .im-frame{
  position:relative; width:min(680px, 100%); max-height:min(86vh, 800px); display:flex; flex-direction:column;
  background:linear-gradient(165deg, #0b1f16, #071510 55%, #050d09);
  border-radius:20px; padding:26px 26px 22px;
  /* قاب‌بندی: دو خط تو در تو + هاله‌ی زمردی */
  border:1.5px solid rgba(231,200,115,0.5);
  outline:1px solid rgba(20,241,149,0.22); outline-offset:5px;
  box-shadow:0 40px 110px rgba(0,0,0,0.65), 0 0 70px rgba(20,241,149,0.10), inset 0 1px 0 rgba(255,255,255,0.05);
  animation:imIn .42s cubic-bezier(.32,.72,.28,1);
}
@keyframes imIn{from{opacity:0; transform:translateY(26px) scale(.97);} to{opacity:1; transform:none;}}
body.intro-open{overflow:hidden;}
/* گوشه‌های طلایی قاب */
#view-engine .im-corner{position:absolute; width:22px; height:22px; pointer-events:none; z-index:2;}
#view-engine .im-corner::before, #view-engine .im-corner::after{content:''; position:absolute; background:linear-gradient(135deg, #f5dfa5, #c9a44d); border-radius:2px;}
#view-engine .im-corner::before{width:100%; height:2.5px; right:0; top:0;}
#view-engine .im-corner::after{width:2.5px; height:100%; right:0; top:0;}
#view-engine .c-tl{top:-7px; right:-7px;}
#view-engine .c-tr{top:-7px; left:-7px; transform:scaleX(-1);}
#view-engine .c-bl{bottom:-7px; right:-7px; transform:scaleY(-1);}
#view-engine .c-br{bottom:-7px; left:-7px; transform:scale(-1);}
#view-engine .im-close{
  position:absolute; top:14px; left:14px; z-index:3; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--hair-strong); background:rgba(8,23,18,0.9); color:var(--text);
  font-size:14px; cursor:pointer; font-family:inherit; transition:all .2s;
}
#view-engine .im-close:hover{background:rgba(255,107,107,0.15); border-color:var(--danger); color:var(--danger);}
#view-engine .im-head{display:flex; align-items:center; gap:14px; padding-bottom:16px; border-bottom:1px dashed rgba(20,241,149,0.18); margin-bottom:16px; padding-left:44px;}
#view-engine .im-badge{
  width:52px; height:52px; border-radius:14px; flex:none; font-size:25px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(20,241,149,0.2), rgba(20,241,149,0.04));
  border:1px solid rgba(20,241,149,0.3);
}
#view-engine .im-title{font-size:18.5px; font-weight:900; letter-spacing:-.3px;}
#view-engine .im-sub{font-size:12.5px; color:var(--text-dim); font-weight:600; margin-top:4px;}
#view-engine .im-body{overflow-y:auto; display:flex; flex-direction:column; gap:10px; padding-left:4px;}
#view-engine .im-body::-webkit-scrollbar{width:5px;}
#view-engine .im-body::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.22); border-radius:999px;}
#view-engine .im-step{
  display:flex; gap:12px; align-items:flex-start; padding:11px 13px; border-radius:12px;
  background:rgba(255,255,255,0.02); border:1px solid rgba(20,241,149,0.12);
}
#view-engine .im-num{
  width:26px; height:26px; border-radius:9px; flex:none; font-size:12.5px; font-weight:900;
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald)); color:#031a11;
  display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(20,241,149,0.3);
}
#view-engine .im-txt{font-size:13.5px; color:var(--text-dim); line-height:2.05; min-width:0;}
#view-engine .im-txt b{color:var(--text);}
#view-engine .im-txt .uni-ico{width:13px; height:13px; vertical-align:-2px; color:var(--gold);}
#view-engine .im-actions{padding-top:16px; margin-top:14px; border-top:1px dashed rgba(20,241,149,0.18); display:flex; justify-content:center;}
@media(max-width:640px){
  #view-engine .im-frame{padding:18px 16px 16px; border-radius:16px;}
  #view-engine .im-head{padding-left:0; flex-wrap:wrap;}
  #view-engine .im-title{font-size:16px;}
  #view-engine .im-txt{font-size:12.5px;}
}

/* ============ پنل درصد تأثیر پارامترهای لیست هوشمند (قاب‌دار) ============ */
#view-engine .weights-modal{position:fixed; inset:0; z-index:1120; display:none; align-items:center; justify-content:center; padding:22px;}
#view-engine .weights-modal.open{display:flex;}
body.weights-open{overflow:hidden;}
#view-engine .wm-frame{
  position:relative; width:min(780px, 100%); max-height:min(88vh, 820px); display:flex; flex-direction:column;
  background:linear-gradient(165deg, #0b1f16, #071510 55%, #050d09);
  border-radius:20px; padding:26px 26px 20px;
  border:1.5px solid rgba(231,200,115,0.5);
  outline:1px solid rgba(20,241,149,0.22); outline-offset:5px;
  box-shadow:0 40px 110px rgba(0,0,0,0.65), 0 0 70px rgba(20,241,149,0.10), inset 0 1px 0 rgba(255,255,255,0.05);
  animation:imIn .42s cubic-bezier(.32,.72,.28,1);
}
#view-engine .wm-body{overflow-y:auto; padding-left:4px; padding-right:4px;}
#view-engine .wm-body::-webkit-scrollbar{width:5px;}
#view-engine .wm-body::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.22); border-radius:999px;}
/* ۴ ستون کنار هم — دسکتاپ و موبایل یکسان */
#view-engine .wm-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;}
#view-engine .wm-col{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  padding:16px 12px 14px; border-radius:14px; min-width:0;
  background:rgba(255,255,255,0.02); border:1px solid rgba(20,241,149,0.14);
  transition:border-color .2s, background .2s, opacity .2s;
}
#view-engine .wm-col.hot{border-color:rgba(231,200,115,0.5); background:rgba(231,200,115,0.055);}
#view-engine .wm-col.na{opacity:.55;}
#view-engine .wm-col.na .wm-range{opacity:.35; pointer-events:none;}
#view-engine .wm-ico{font-size:24px; line-height:1.2;}
#view-engine .wm-name{font-size:13.5px; font-weight:900; letter-spacing:-.2px; line-height:1.6;}
#view-engine .wm-desc{font-size:10.5px; color:var(--text-dim); line-height:1.9; min-height:40px;}
#view-engine .wm-range{width:100%; height:24px; cursor:pointer; accent-color:#14f195; direction:rtl; margin:2px 0 0;}
#view-engine .wm-step{display:flex; align-items:center; justify-content:center; gap:7px; width:100%; margin-top:6px;}
#view-engine .wm-step button{
  width:30px; height:30px; border-radius:9px; border:1px solid rgba(20,241,149,0.25);
  background:rgba(20,241,149,0.07); color:var(--emerald-glow); font-family:inherit;
  font-size:15px; font-weight:900; cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:all .15s; padding:0; line-height:1; flex:none;
}
#view-engine .wm-step button:hover{background:rgba(20,241,149,0.16);}
#view-engine .wm-step button:active{transform:scale(.9);}
#view-engine .wm-col.na .wm-step button{opacity:.35; pointer-events:none;}
#view-engine .wm-val{
  flex:1; min-width:0; text-align:center; font-size:20px; font-weight:900; color:var(--gold);
  font-variant-numeric:tabular-nums; line-height:1; white-space:nowrap;
}
#view-engine .wm-na{
  font-size:9.5px; color:var(--danger); line-height:1.8; background:rgba(255,107,107,0.08);
  border:1px dashed rgba(255,107,107,0.35); border-radius:8px; padding:3px 7px;
}
#view-engine .wm-sum{
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  margin-top:14px; padding:10px 14px; border-radius:12px;
  background:rgba(20,241,149,0.05); border:1px dashed rgba(20,241,149,0.28);
  font-size:13px; font-weight:800;
}
#view-engine .wm-sum .wm-sum-hint{color:var(--emerald-glow); font-weight:900;}
#view-engine .wm-sum.off{border-color:rgba(231,200,115,0.5); background:rgba(231,200,115,0.06);}
#view-engine .wm-sum.off .wm-sum-hint{color:var(--gold);}
#view-engine .wm-note{margin-top:10px; font-size:11.5px; color:var(--text-dim); line-height:2; text-align:center;}
#view-engine .wm-actions{
  display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap;
  padding-top:16px; margin-top:14px; border-top:1px dashed rgba(20,241,149,0.18);
}
/* موبایل: همان ۴ ستون کنارِهم — فشرده؛ توضیح پنهان، دکمه‌های − و + برای تنظیم دقیق */
@media(max-width:640px){
  #view-engine .weights-modal{padding:8px;}
  #view-engine .wm-frame{padding:14px 8px 12px; border-radius:16px;}
  #view-engine .wm-grid{grid-template-columns:repeat(4, 1fr); gap:4px;}
  #view-engine .wm-col{padding:10px 2px 8px; gap:6px; border-radius:11px;}
  #view-engine .wm-ico{font-size:17px;}
  #view-engine .wm-name{font-size:10.5px; line-height:1.55; letter-spacing:0;}
  #view-engine .wm-desc{display:none;}
  #view-engine .wm-range{height:18px;}
  #view-engine .wm-step{gap:2px; margin-top:4px;}
  #view-engine .wm-step button{width:23px; height:23px; font-size:12.5px; border-radius:7px;}
  #view-engine .wm-val{font-size:13px;}
  #view-engine .wm-na{font-size:8.5px; padding:2px 4px; line-height:1.6;}
  #view-engine .wm-sum{font-size:11.5px; padding:8px 8px; margin-top:10px;}
  #view-engine .wm-note{font-size:10.5px; margin-top:8px;}
  #view-engine .wm-actions{display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%;}
  #view-engine .wm-actions #wm-build{grid-column:1 / -1;}
}

/* ============ مودال گزارش نهایی (قاب‌دار) ============ */
#view-engine .report-modal{position:fixed; inset:0; z-index:1150; display:none; align-items:center; justify-content:center; padding:16px;}
#view-engine .report-modal.open{display:flex;}
#view-engine .rm-backdrop{position:absolute; inset:0; background:rgba(2,6,4,0.8); backdrop-filter:blur(7px);}
#view-engine .rm-frame{
  position:relative; width:min(940px, 100%); max-height:94vh; display:flex; flex-direction:column;
  background:linear-gradient(165deg, #0b1f16, #071510 55%, #050d09);
  border-radius:20px; padding:14px 16px;
  /* قاب‌بندی: دو خط تو در تو + هاله‌ی زمردی (هم‌سبک مودال راهنما) */
  border:1.5px solid rgba(231,200,115,0.5);
  outline:1px solid rgba(20,241,149,0.22); outline-offset:5px;
  box-shadow:0 40px 110px rgba(0,0,0,0.65), 0 0 70px rgba(20,241,149,0.10), inset 0 1px 0 rgba(255,255,255,0.05);
  animation:imIn .42s cubic-bezier(.32,.72,.28,1);
}
body.report-open{overflow:hidden;}
#view-engine .rm-head{display:flex; align-items:center; gap:12px; padding:2px 4px 12px; border-bottom:1px dashed rgba(20,241,149,0.18); margin-bottom:12px; padding-left:44px; flex-wrap:wrap;}
#view-engine .rm-badge{
  width:46px; height:46px; border-radius:13px; flex:none; color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(231,200,115,0.16), rgba(231,200,115,0.03));
  border:1px solid rgba(231,200,115,0.3);
}
#view-engine .rm-badge svg{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
#view-engine .rm-title{font-size:16.5px; font-weight:900; letter-spacing:-.2px;}
#view-engine .rm-sub{font-size:11.5px; color:var(--text-dim); font-weight:600; margin-top:3px; line-height:1.8;}
#view-engine .rm-actions{display:flex; gap:8px; margin-inline-start:auto; flex-wrap:wrap;}
#view-engine .rm-actions .btn{padding:9px 18px; font-size:12.5px;}
#view-engine .rm-btn-ghost{background:transparent; color:var(--text); border:1.5px solid rgba(20,241,149,0.25);}
#view-engine .rm-btn-ghost:hover{border-color:rgba(20,241,149,0.55); background:rgba(20,241,149,0.08);}
#view-engine .rm-ico{width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
#view-engine .rm-scroll{flex:1; min-height:0; overflow:auto; display:flex; justify-content:center; padding:2px;}
#view-engine .rm-scroll::-webkit-scrollbar{width:6px; height:6px;}
#view-engine .rm-scroll::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.22); border-radius:999px;}
#view-engine .rm-holder{flex:none; position:relative;}
#view-engine .rm-page{
  width:794px; background:#fff; border-radius:4px; overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,0.55), 0 0 0 1px rgba(231,200,115,0.25);
  transform-origin:top left;
}
#view-engine .rm-page iframe{width:794px; height:1123px; border:0; display:block; background:#fff;}
#view-engine .rm-hint{font-size:11px; color:var(--text-dim); line-height:1.9; padding:10px 6px 0; border-top:1px dashed rgba(20,241,149,0.14); margin-top:10px; text-align:center;}
#view-engine .rm-hint b{color:var(--gold);}
@media(max-width:640px){
  #view-engine .rm-frame{padding:12px 12px; border-radius:16px;}
  #view-engine .rm-head{padding-left:40px;}
  #view-engine .rm-actions{margin-inline-start:0; width:100%;}
  #view-engine .rm-actions .btn{flex:1; min-width:0; padding:9px 8px; font-size:11.5px;}
  #view-engine .rm-sub{display:none;}
}

/* عنوان/زیرنویس داخل پنل‌ها (drawer دانشگاه) */
#view-engine .side-title{font-size:15.5px; font-weight:800; display:flex; align-items:center; gap:8px;}
#view-engine .side-sub{font-size:12px; color:var(--text-dim); line-height:1.8;}

/* ============ DRAWER ============ */
#view-engine .uni-drawer{
  position:fixed; inset:0; z-index:900; visibility:hidden; pointer-events:none;
}
#view-engine .uni-drawer.open{visibility:visible; pointer-events:auto;}
#view-engine .uni-drawer-backdrop{
  position:absolute; inset:0; background:rgba(2,6,4,0.72); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .32s;
}
#view-engine .uni-drawer.open .uni-drawer-backdrop{opacity:1;}
#view-engine .uni-drawer-panel{
  position:absolute; top:0; bottom:0; left:0; width:min(560px, 96vw);
  background:linear-gradient(165deg, #0b1d15, #071410 60%, #050d09);
  border-right:1px solid var(--hair-strong);
  box-shadow:30px 0 80px rgba(0,0,0,0.6), 0 0 60px rgba(20,241,149,0.06);
  transform:translateX(-102%); transition:transform .38s cubic-bezier(.32,.72,.28,1);
  display:flex; flex-direction:column;
}
#view-engine .uni-drawer.open .uni-drawer-panel{transform:translateX(0);}
#view-engine .uni-drawer-close{
  position:absolute; top:16px; right:16px; z-index:5; width:36px; height:36px;
  border-radius:50%; border:1px solid var(--hair-strong); background:rgba(8,23,18,0.9);
  color:var(--text); font-size:15px; cursor:pointer; font-family:inherit; transition:all .2s;
}
#view-engine .uni-drawer-close:hover{background:rgba(255,107,107,0.15); border-color:var(--danger); color:var(--danger);}
#view-engine .uni-drawer-content{overflow-y:auto; padding:28px 26px; flex:1;}
#view-engine .uni-drawer-content::-webkit-scrollbar{width:5px;}
#view-engine .uni-drawer-content::-webkit-scrollbar-thumb{background:rgba(20,241,149,0.2); border-radius:999px;}
#view-engine .uni-d-head{margin-bottom:22px; padding-top:6px;}
#view-engine .uni-d-headrow{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-top:8px;}
#view-engine .uni-d-name{font-size:21px; font-weight:900; line-height:1.5; letter-spacing:-.3px;}
#view-engine .uni-d-meta{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
#view-engine .uni-d-tag{
  font-size:11.5px; font-weight:700; padding:5px 12px; border-radius:999px;
  color:var(--text-dim); background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.07);
}
#view-engine .uni-d-tag.loc{color:var(--emerald-glow); border-color:rgba(20,241,149,0.25); background:rgba(20,241,149,0.07); cursor:pointer;}
#view-engine .uni-d-tag.tier{color:#031a11; background:linear-gradient(135deg, var(--emerald-glow), var(--emerald)); border-color:transparent;}
#view-engine .uni-d-emblem{
  width:58px; height:58px; border-radius:15px; flex:none;
  background:linear-gradient(145deg, rgba(20,241,149,0.18), rgba(20,241,149,0.03));
  border:1px solid rgba(20,241,149,0.3);
  display:flex; align-items:center; justify-content:center; font-size:26px;
}
#view-engine .uni-d-sec{margin:24px 0;}
#view-engine .uni-d-sec-title{font-size:14.5px; font-weight:800; margin-bottom:12px; display:flex; align-items:center; gap:8px; color:var(--emerald-glow);}
#view-engine .uni-d-stats-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media(max-width:480px){#view-engine .uni-d-stats-grid{grid-template-columns:1fr;}}
#view-engine .uni-d-stat-card{
  background:rgba(255,255,255,0.025); border:1px solid rgba(255,255,255,0.06);
  border-radius:12px; padding:13px 15px;
}
#view-engine .uni-d-stat-card .l{font-size:11px; color:var(--text-faint); font-weight:700;}
#view-engine .uni-d-stat-card .v{font-size:19px; font-weight:900; margin-top:5px; color:var(--text);}
#view-engine .uni-d-stat-card .v small{font-size:11px; color:var(--text-faint); font-weight:600;}
#view-engine .uni-d-stat-card .sub{font-size:10.5px; color:var(--text-dim); margin-top:4px;}
#view-engine .sat-ind{margin-bottom:10px;}
#view-engine .sat-ind .si-head{display:flex; justify-content:space-between; font-size:11.5px; font-weight:700; color:var(--text-dim); margin-bottom:5px;}
#view-engine .sat-ind .si-head b{color:var(--gold);}
#view-engine .sat-bar{height:6px; border-radius:99px; background:rgba(255,255,255,0.06); overflow:hidden;}
#view-engine .sat-bar i{display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--emerald), var(--emerald-bright));}
#view-engine .major-row-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 13px; border-radius:10px; background:rgba(255,255,255,0.018);
  border:1px solid rgba(255,255,255,0.05); margin-bottom:7px; font-size:12.5px;
}
#view-engine .major-row-item .mr-name{font-weight:700; line-height:1.5;}
#view-engine .major-row-item .mr-rank{font-size:11px; color:var(--emerald-glow); font-weight:800; white-space:nowrap;}
#view-engine .major-row-item .mr-side{display:flex; align-items:center; gap:8px; flex:none;}



/* ============ GUIDE ============ */
#view-engine .guide-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
@media(max-width:860px){#view-engine .guide-grid{grid-template-columns:1fr;}}
#view-engine .guide-card{
  background:linear-gradient(160deg, rgba(20,241,149,0.05), rgba(255,255,255,0.01));
  border:1px solid rgba(20,241,149,0.13); border-radius:var(--radius-sm);
  padding:24px 22px; transition:all .25s;
}
#view-engine .guide-card:hover{border-color:var(--hair-strong); transform:translateY(-3px);}
#view-engine .guide-num{
  width:38px; height:38px; border-radius:11px; font-size:16px; font-weight:900; color:#031a11;
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald));
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
  box-shadow:0 6px 18px rgba(20,241,149,0.3);
}
#view-engine .guide-title{font-size:15.5px; font-weight:800; margin-bottom:9px;}
#view-engine .guide-body{font-size:13px; color:var(--text-dim); line-height:2.05;}
#view-engine .guide-body b{color:var(--text);}
#view-engine .guide-body .gold{color:var(--gold); font-weight:700;}

/* ============ FOOTER ============ */
#view-engine footer{border-top:1px solid var(--hair); margin-top:70px; padding:38px 0 30px; position:relative; z-index:1;}
#view-engine .footer-inner{max-width:1180px; margin:0 auto; padding:0 24px; text-align:center;}
#view-engine .footer-brand{display:flex; align-items:center; justify-content:center; gap:10px; font-weight:800; font-size:17px; margin-bottom:14px;}
#view-engine .footer-note{font-size:12px; color:text-faint; color:var(--text-faint); line-height:2.1; max-width:640px; margin:0 auto;}
#view-engine .disclaimer{
  margin-top:18px; font-size:11.5px; color:var(--text-faint); line-height:2;
  background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.05);
  border-radius:12px; padding:12px 18px; display:inline-block;
}

/* ============ MISC ============ */
/* پیام کوتاه (toast): بالا و وسط صفحه — به‌صورت کشویی از پشت نوار پایین می‌آید تا پایین صفحه و دکمه‌ها را نپوشاند */
#view-engine .toast{
  position:fixed; top:calc(var(--nav-h, 68px) + 12px); left:50%;
  transform:translateX(-50%) translateY(calc(-100% - 18px));
  background:rgba(8,23,18,0.97); border:1px solid var(--hair-strong); color:var(--text);
  padding:12px 22px; border-radius:999px; font-size:13px; font-weight:700; z-index:1300;
  opacity:0; transition:transform .45s cubic-bezier(.2,.85,.3,1.08), opacity .3s;
  pointer-events:none; box-shadow:0 14px 40px rgba(0,0,0,0.5);
  max-width:min(92vw, 560px); text-align:center;
}
#view-engine .toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
#view-engine .grad-line{height:1px; background:linear-gradient(90deg, transparent, rgba(20,241,149,0.35), transparent); margin:34px 0;}

@media print{
  #view-engine{background:#fff; color:#111;}
  #view-engine nav, #view-engine .intro-modal, #view-engine .report-modal, #view-engine .btn, #view-engine .mini-btn, #view-engine .toast{display:none !important;}
  #view-engine .panel{border-color:#ccc; background:#fff; box-shadow:none;}
  #view-engine .uni-d-name, #view-engine .uni-major, #view-engine .uni-name, #view-engine h1, #view-engine h2, #view-engine .panel-title{color:#065f46 !important;}
}

/* ============ پل خودشناسی qb-bridge-v1: قفل گروه + نشان طلایی + امتیاز هوشمند ============ */

#view-engine .track-grid.locked{pointer-events:none; opacity:.55; filter:saturate(.65);}
#view-engine .track-grid.locked .track-card{cursor:default;}
#view-engine .track-grid.locked .track-card.selected{opacity:1; filter:none;}
#view-engine .bridge-note{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:10px; padding:10px 14px; border-radius:12px;
  background:linear-gradient(120deg, rgba(231,200,115,.10), rgba(20,241,149,.05));
  border:1px dashed rgba(231,200,115,.4); font-size:12.5px; line-height:1.9; color:var(--text);
}
#view-engine .bridge-note .bn-text b{color:var(--gold);}
#view-engine .bridge-note .bn-link{
  margin-inline-start:auto; font-weight:800; font-size:11px; color:var(--gold);
  background:none; border:1px solid rgba(231,200,115,.35); border-radius:999px;
  padding:5px 12px; cursor:pointer; white-space:nowrap;
}
#view-engine .bridge-note .bn-link:hover{background:rgba(231,200,115,.12);}
#view-engine .major-pick.gold-match{border-color:rgba(231,200,115,.28);}
#view-engine .major-pick.gold-match:hover{background:rgba(231,200,115,.07);}
#view-engine .mp-name{display:flex; align-items:center; gap:6px 7px; row-gap:5px; flex-wrap:wrap; min-width:0;}
#view-engine .gold-badge{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  max-width:100%; min-width:0; overflow-wrap:break-word;
  padding:3px 11px; border-radius:999px; font-size:11.5px; font-weight:800;
  background:rgba(231,200,115,.10); color:var(--gold);
  border:1px solid rgba(231,200,115,.34);
}
#view-engine .gold-badge.top{background:rgba(231,200,115,.16); border-color:rgba(231,200,115,.5);}
#view-engine .gold-badge .gbd-rank{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px; border-radius:999px; flex:none;
  background:rgba(231,200,115,.16); border:1px solid rgba(231,200,115,.4);
  font-size:11px; font-weight:900; color:var(--gold);
}
#view-engine .uni-card.card-gold{border-color:rgba(231,200,115,.45); box-shadow:0 0 20px rgba(231,200,115,.12);}
#view-engine .smart-score-chip{
  display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:8px;
  font-size:10.5px; font-weight:800; flex:none;
  background:rgba(20,241,149,.09); border:1px solid rgba(20,241,149,.3); color:var(--emerald-glow);
}
#view-engine .smart-score-chip b{font-size:12px;}
#view-engine .reason-chip{
  display:inline-flex; align-items:center; gap:3px; padding:3px 9px; border-radius:7px;
  font-size:10px; font-weight:700; flex:none;
  background:rgba(231,200,115,.09); border:1px solid rgba(231,200,115,.28); color:var(--gold);
}
#view-engine .reason-chip.own{background:rgba(20,241,149,.07); border-color:rgba(20,241,149,.25); color:var(--emerald-glow);}


/* ============ چهار کلید دوره‌ی تحصیلی (روزانه/شبانه/نوبت دوم/مناطق محروم) ============ */
#view-engine .prog-toggles{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px;}
#view-engine .prog-pill{
  position:relative; display:flex; flex-direction:column; gap:1px; cursor:pointer; user-select:none;
  border:1.5px solid var(--hair-strong); border-radius:11px; padding:8px 13px 7px;
  background:rgba(255,255,255,0.02); transition:border-color .18s, background .18s, opacity .18s;
  min-width:86px;
}
#view-engine .prog-pill:hover{border-color:var(--emerald-glow); background:rgba(20,241,149,0.05);}
#view-engine .prog-pill input{position:absolute; opacity:0; pointer-events:none;}
#view-engine .prog-pill .pp-txt{display:flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:var(--text-dim);}
#view-engine .prog-pill .pp-sub{font-size:10px; color:var(--text-faint); font-weight:500;}
#view-engine .prog-pill .pp-dot{
  flex:none; width:8px; height:8px; border-radius:50%; background:var(--text-faint);
  box-shadow:0 0 0 0 transparent; transition:all .18s;
}
#view-engine .prog-pill:has(input:checked){border-color:rgba(20,241,149,0.55); background:linear-gradient(160deg, rgba(20,241,149,0.1), rgba(20,241,149,0.02));}
#view-engine .prog-pill:has(input:checked) .pp-txt{color:var(--text);}
#view-engine .prog-pill:has(input:checked) .pp-dot{background:var(--emerald-glow); box-shadow:0 0 8px rgba(20,241,149,0.7);}
/* fallback بدون :has (مرورگرهای قدیمی): دات همیشه روشن دیده می‌شود اما حاشیه با JS کلاس on می‌گیرد */
#view-engine .prog-pill.on{border-color:rgba(20,241,149,0.55); background:linear-gradient(160deg, rgba(20,241,149,0.1), rgba(20,241,149,0.02));}
#view-engine .prog-pill.on .pp-txt{color:var(--text);}
#view-engine .prog-pill.on .pp-dot{background:var(--emerald-glow); box-shadow:0 0 8px rgba(20,241,149,0.7);}
@media (max-width:640px){
  #view-engine .prog-toggles{display:grid; grid-template-columns:1fr 1fr; gap:7px;}
  #view-engine .prog-pill{padding:7px 10px 6px; min-width:0;}
}

/* ============ ردیف نام پارامتر مودال وزن‌ها ============ */
#view-engine .wm-name-row{display:flex; align-items:center; justify-content:center; gap:6px; width:100%;}
/* (کلیدهای روشن/خاموش پارامترها حذف شدند — سیستم قبلی: فقط اسلایدر + گام ±۵) */

/* ============ گزینه‌های آرزویی (رتبه‌ی بهتری لازم است) — لیست ۲ ============ */
#view-engine .dream-head{
  display:flex; gap:10px; align-items:flex-start; margin:2px 0 10px;
  border:1px solid rgba(231,200,115,0.35); border-radius:11px; padding:10px 13px;
  background:linear-gradient(160deg, rgba(231,200,115,0.08), transparent 70%);
}
#view-engine .dream-head .dh-badge{
  flex:none; width:34px; height:34px; border-radius:9px; display:grid; place-items:center;
  background:rgba(231,200,115,0.14); border:1px solid rgba(231,200,115,0.4); color:var(--gold);
}
#view-engine .dream-head .dh-badge svg{width:18px; height:18px;}
#view-engine .dream-head b{display:block; font-size:12.5px; color:var(--text); font-weight:800;}
#view-engine .dream-head small{display:block; font-size:11px; color:var(--text-faint); line-height:1.9; margin-top:2px;}
#view-engine .uni-card.card-dream{border-color:rgba(231,200,115,0.4); box-shadow:0 0 18px rgba(231,200,115,0.08);}
#view-engine .dream-badge{
  display:inline-flex; align-items:center; gap:5px; font-size:10.5px; font-weight:800;
  color:var(--gold); background:rgba(231,200,115,0.13); border:1px solid rgba(231,200,115,0.45);
  border-radius:999px; padding:2px 9px; margin-inline-start:6px; white-space:nowrap;
}
#view-engine .dream-badge svg{width:12px; height:12px; flex:none;}
#view-engine .meta-tag.need-tag{color:var(--gold); border-color:rgba(231,200,115,0.35); background:rgba(231,200,115,0.07);}
@media (max-width:640px){
  #view-engine .dream-head{padding:8px 10px; gap:8px;}
  #view-engine .dream-head .dh-badge{width:29px; height:29px;}
}

/* ================================================================
   ویزارد چهار مرحله‌ای انتخاب رشته (رتبه/منطقه → رشته‌ها → دانشگاه/نوع
   پذیرش → تحلیل و لیست‌ها) — لایه‌ی افزوده روی همان فیلدهای موجود
   ================================================================ */
#view-engine .wiz-bar{
  display:flex; align-items:flex-start; justify-content:space-between; gap:4px;
  margin-bottom:24px; padding:14px 10px; background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06); border-radius:14px;
}
#view-engine .wiz-dot{display:flex; flex-direction:column; align-items:center; gap:6px; flex:1; min-width:0;}
#view-engine .wiz-dot-n{
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  font-size:13px; font-weight:800; color:var(--text-faint);
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12);
}
#view-engine .wiz-dot-l{font-size:10.5px; color:var(--text-faint); text-align:center; line-height:1.4;}
#view-engine .wiz-dot.active .wiz-dot-n{
  background:linear-gradient(135deg, var(--emerald-glow), var(--emerald)); color:#031a11; border-color:var(--emerald-bright);
}
#view-engine .wiz-dot.active .wiz-dot-l{color:var(--emerald-glow); font-weight:700;}
#view-engine .wiz-dot.done .wiz-dot-n{background:var(--emerald-dim); border-color:var(--emerald-bright); color:var(--emerald-glow);}
#view-engine .wiz-line{flex:none; width:22px; height:2px; margin-top:14px; background:rgba(255,255,255,0.1);}
#view-engine .wiz-panel{animation:wizFade .25s ease;}
@keyframes wizFade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);}}
#view-engine .wiz-nav{display:flex; justify-content:space-between; gap:10px; margin-top:18px; flex-wrap:wrap;}
#view-engine .wiz-nav .btn{flex:none;}
#view-engine .wiz-nav-end{justify-content:flex-end;}
#view-engine .wiz-note{font-size:12.5px; color:var(--text-dim); line-height:1.9; margin-bottom:14px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:10px; padding:10px 12px;}
@media (max-width:640px){
  #view-engine .wiz-bar{padding:10px 6px;}
  #view-engine .wiz-dot-l{display:none;}
  #view-engine .wiz-line{margin-top:13px; width:14px;}
}
