@font-face{font-family:Vazir;src:url(fonts/Vazirmatn-Medium.ttf);font-weight:500;font-display:swap}
@font-face{font-family:Vazir;src:url(fonts/Vazirmatn-Bold.ttf);font-weight:700;font-display:swap}
:root{--navy:#10264d;--gold:#c9973a;--bg:#0b1a33;--cream:#f6efdc}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:#e8dcc0;font-family:Vazir,Tahoma,sans-serif}
body.mg-lock{overflow:hidden}
main{display:block}
.stage{position:relative;width:100%;max-width:1672px;margin:0 auto;container-type:inline-size;line-height:0}
.gate{width:100%;height:auto;display:block}
.tile{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;
  width:11.4%;height:9.2%;font:700 1.55cqw/1.3 Vazir,Tahoma,sans-serif;color:var(--navy);text-decoration:none;background:none;border:0;padding:0;
  border-radius:1.2cqw;transition:background .2s,box-shadow .2s,transform .2s;cursor:pointer}
.tile.right{left:73.1%}.tile.left{left:15.47%}
.tile.r1{top:37.16%}.tile.r2{top:49.01%}.tile.r3{top:60.86%}
a.tile:hover,a.tile:focus-visible,button.tile:hover,button.tile:focus-visible{background:rgba(201,151,58,.28);box-shadow:0 0 0 .2cqw var(--gold),0 0 2cqw rgba(201,151,58,.7);transform:scale(1.04);outline:none}
.tile.soon{color:rgba(16,38,77,.55);cursor:default}
.tile.profile{font-size:4.4cqw}
.list{display:none;list-style:none;margin:0;padding:16px;gap:10px}
.list li{margin:0}
.list a,.list span,.list button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 16px;border-radius:12px;background:#f1e7cf;color:var(--navy);font:700 16px Vazir,Tahoma,sans-serif;text-align:center;text-decoration:none;border:2px solid var(--gold);cursor:pointer}
.list span.soon{opacity:.6;cursor:default}
footer{padding:18px 16px 26px;text-align:center;font-size:13px;color:#b9a97d;background:var(--bg)}
@media (max-width:760px){.tile{display:none}.list{display:grid;grid-template-columns:1fr 1fr}footer{font-size:12px}}
@media (max-width:420px){.list{grid-template-columns:1fr}}

/* پاپ‌آپ: پس‌زمینهٔ سیاه با شفافیت ۵۰٪؛ صفحهٔ اصلی پشت آن دیده می‌شود */
.mg-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.5)}
.mg-overlay[hidden]{display:none}
.mg-modal{position:relative;width:100%;max-width:520px;max-height:88vh;overflow:auto;background:var(--cream);color:#1b2a47;border:2px solid var(--gold);border-radius:18px;padding:22px 22px 18px;box-shadow:0 20px 60px rgba(0,0,0,.45);font-size:15px;line-height:1.8}
.mg-modal h2{margin:0 0 10px;font-size:20px;color:var(--navy)}
.mg-close{position:absolute;top:8px;left:12px;background:none;border:0;font-size:30px;line-height:1;color:var(--navy);cursor:pointer}
.mg-tabs{display:flex;gap:6px;margin:6px 0 12px;border-bottom:1px solid #d9c8a0}
.mg-tabs button{flex:1;padding:8px 6px;background:none;border:0;border-bottom:3px solid transparent;font:700 14px Vazir,Tahoma,sans-serif;color:#5b6784;cursor:pointer}
.mg-tabs button[aria-selected=true]{color:var(--navy);border-bottom-color:var(--gold)}
.mg-form{display:grid;gap:10px;margin:8px 0}
.mg-form label{display:grid;gap:4px;font-weight:700;font-size:13px}
.mg-form input,.qty{padding:9px 10px;border:1px solid #cdbb90;border-radius:8px;background:#fff;font:15px Vazir,Tahoma,sans-serif;color:#1b2a47}
.mg-form input[readonly]{background:#eee6cf}
.qty{width:76px}
.btn{padding:9px 18px;border:0;border-radius:10px;background:var(--navy);color:#f6efdc;font:700 14px Vazir,Tahoma,sans-serif;cursor:pointer}
.btn:hover{background:#1c3a72}
.inline{margin:10px 0}
.muted{color:#5b6784;font-size:13px;margin:6px 0}
.tiny{font-size:11px}
.flash{padding:8px 12px;border-radius:8px;background:#e1ecd6;border:1px solid #9bb97d;font-size:13px}
.meter{height:8px;border-radius:6px;background:#e4d7b5;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--gold);transition:width .4s}
.row{display:flex;justify-content:space-between;margin:6px 0}
.big{font-size:40px;font-weight:700;color:var(--navy);margin:4px 0}
.big small{font-size:14px;font-weight:500;color:#5b6784}
.plist,.wl{margin:8px 0;padding:0 18px}
.plist{list-style:none;padding:0}
.plist li{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;background:#efe4c8;margin:4px 0}
.camp{border:1px solid #d9c8a0;border-radius:12px;padding:10px 14px;margin:10px 0;background:#fbf6e8}
.camp h3{margin:0 0 4px;font-size:16px;color:var(--navy)}
@media (prefers-reduced-motion:reduce){.tile,.meter i{transition:none}}

/* پاپ‌آپ ورود (iframe) و نام کاربر روی کاشی */
.mg-login{max-width:460px;padding-bottom:12px;background:rgba(0,0,0,.5);color:#f6efdc}
.mg-login h2{color:#f6efdc}
.mg-login .mg-close{color:#f6efdc}
.mg-frame{display:block;width:100%;height:min(560px,70vh);border:0;border-radius:10px;background:transparent;color-scheme:light}
.tile.profile{font-size:1.45cqw}
.tile.profile .pname{display:block;max-width:92%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* عنوان‌ها همزمان با تصویر ظاهر می‌شوند (gate.js پس از بارگذاری تصویر کلاس ready را می‌گذارد) */
.js .stage:not(.ready) .tile{opacity:0}
.stage .tile{transition:opacity .35s,background .2s,box-shadow .2s,transform .2s}

/* آواتار */
.mg-av{width:34px;height:34px;border-radius:50%;vertical-align:middle;margin-inline-end:8px;border:2px solid var(--gold)}
.tile.profile .mg-av{width:2.1cqw;height:2.1cqw;margin-inline-end:.5cqw;border-width:1px;flex:none}
.tile.profile{gap:.2cqw}
.av-prev{text-align:center;margin:4px 0}
.av-prev img{width:120px;height:120px;border-radius:50%;border:3px solid var(--gold);background:#fff}
.av-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.av-b{font:700 13px Vazir,Tahoma,sans-serif;padding:6px 10px;border-radius:999px;border:1px solid #c9b98b;background:#fff;color:#1b2a47;cursor:pointer}
.av-b.on{background:#10264d;color:#fff;border-color:#10264d}
.av-b.sw{width:30px;height:30px;padding:0;border-radius:50%}
.av-b.sw.on{outline:3px solid #10264d;outline-offset:1px}
.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;max-height:220px;overflow:auto;margin:8px 0;padding:4px;border:1px solid #e4d7b5;border-radius:10px;background:#fff}
.av-job{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:2px solid transparent;border-radius:10px;background:none;cursor:pointer;font:600 11px/1.3 Vazir,Tahoma,sans-serif;color:#1b2a47}
.av-job img{border-radius:50%}
.av-job.on{border-color:#c9973a;background:#fff7e0}
