/* ============ مدينتي — لعبة العقارات التونسية ============ */
:root{
  --navy-deep:#10365f; --navy-deeper:#0d2a4b; --navy:#1d4e89; --frame:#16406f;
  --ivory:#f6efdd; --cream:#fbf6e9; --center:#f3ead6; --setupbg:#efe4c9;
  --brick:#c05b3d; --honey:#f2b134; --olive:#7a8a3e; --slate:#22303f;
  --tan:#c3b189; --tan2:#d8c9a2; --tan3:#cfc3a3;
  --ink:#3a3020; --brown-mid:#8a734a; --brown-soft:#6b5b33; --brown-body:#4a3d26;
  --honey-dark:#3d2b12; --honey-deep:#7a5c17; --honeybox:#fdf0d2;
  --red:#b23a2f; --teal:#2f7e6d; --orange:#d97b29; --auction-bg:#33241c;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;overflow:hidden;background:#07203d}
body{direction:rtl;font-family:'Tajawal',sans-serif;color:var(--slate);
  -webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none}
button{font-family:inherit;border:0;background:none;cursor:pointer;color:inherit;direction:rtl}
button:focus-visible,input:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
input{font-family:inherit;direction:rtl}
.lz{font-family:'Lalezar','Tajawal',sans-serif;font-weight:400}

/* ---------- المسرح 1280×800 ---------- */
#stage{position:absolute;left:50%;top:50%;width:1280px;height:800px;
  transform:translate(-50%,-50%) scale(var(--sc,1));transform-origin:center}
.screen{position:absolute;inset:0;display:none}
.screen.on{display:flex}
#rotate-hint{position:fixed;inset:0;z-index:99;display:none;align-items:center;justify-content:center;
  background:var(--navy-deep);color:var(--ivory);font:700 20px 'Tajawal';text-align:center;padding:30px}
@media (orientation:portrait){ #rotate-hint{display:flex} }

/* ---------- خلفيات مزخرفة ---------- */
.bg-navy{background:var(--navy-deep);background-image:
  repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 2px,transparent 2px 28px),
  repeating-linear-gradient(-45deg,rgba(255,255,255,.035) 0 2px,transparent 2px 28px)}
.bg-navy2{background:var(--navy-deeper);background-image:
  repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 28px),
  repeating-linear-gradient(-45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 28px)}
.bg-sand{background:var(--setupbg);background-image:
  repeating-linear-gradient(45deg,rgba(138,115,74,.05) 0 2px,transparent 2px 26px)}
.bg-souk{background:var(--auction-bg);background-image:
  repeating-linear-gradient(45deg,rgba(242,177,52,.05) 0 2px,transparent 2px 28px),
  repeating-linear-gradient(-45deg,rgba(242,177,52,.05) 0 2px,transparent 2px 28px)}

/* ---------- أزرار عامة ---------- */
.btn{display:flex;align-items:center;justify-content:center;border-radius:14px;transition:transform .08s}
.btn:active{transform:scale(.965)}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-honey{background:var(--honey);color:var(--honey-dark);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.btn-brick{background:var(--brick);color:var(--ivory);box-shadow:0 5px 14px rgba(0,0,0,.3)}
.btn-line{border:2px solid rgba(246,239,221,.5);color:var(--ivory);font-weight:800}
.btn-line-d{border:1.5px solid var(--tan);color:var(--brown-soft);font-weight:700;border-radius:10px}

/* ============ 1b القائمة الرئيسية ============ */
#scr-menu{flex-direction:column;align-items:center;justify-content:center;gap:16px;position:relative;overflow:hidden}
.menu-title{font-size:116px;line-height:1;color:var(--ivory);text-shadow:0 6px 0 var(--brick)}
.menu-sub{font-size:20px;font-weight:700;color:var(--honey)}
.doors{display:flex;gap:14px;align-items:flex-end;margin:10px 0 6px}
.door{width:56px;border-radius:28px 28px 8px 8px;display:flex;align-items:flex-end;justify-content:center;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.28),0 6px 14px rgba(0,0,0,.3)}
.door i{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.35);margin-bottom:14px}
.door.d2{box-shadow:inset 0 0 0 4px rgba(29,78,137,.25),0 6px 14px rgba(0,0,0,.3)}
.door.d2 i{background:rgba(29,78,137,.4)}
.menu-btns{display:flex;flex-direction:column;gap:12px;width:340px}
.menu-btns .btn-honey{height:62px;font-size:26px}
.menu-btns .btn-line{height:50px;border-radius:14px;font-size:17px}
.menu-chips{display:flex;gap:10px;margin-top:8px}
.menu-chip{background:rgba(255,255,255,.12);color:rgba(246,239,221,.85);font-size:12px;font-weight:500;border-radius:999px;padding:5px 14px}

/* ============ 1c تجهيز اللاعبين ============ */
#scr-setup{flex-direction:column;gap:16px;padding:28px 46px 24px}
.setup-head{display:flex;flex-direction:column;align-items:center;gap:2px}
.setup-head .t{font-size:40px;line-height:1.1;color:var(--navy)}
.setup-head .s{font-size:14px;color:var(--brown-soft);font-weight:500}
.setup-body{display:flex;gap:24px;flex:1;min-height:0}
.setup-players{flex:1.3;display:flex;flex-direction:column;gap:10px;min-width:0}
.prow{background:#fff;border-radius:14px;padding:11px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px rgba(34,48,63,.1);position:relative}
.prow .av{width:44px;height:44px;border-radius:50%;color:#fff;font-weight:800;font-size:19px;
  display:flex;align-items:center;justify-content:center;flex:none}
.prow .nwrap{flex:none;width:170px;display:flex;flex-direction:column;gap:1px}
.prow .nlab{font-size:10.5px;color:var(--brown-mid);font-weight:500}
.prow input{border:0;outline:0;background:none;font-weight:800;font-size:18px;color:var(--slate);
  border-bottom:2px dashed var(--tan);padding:0 0 3px;width:100%}
.prow .toks{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;flex:1}
.tokchip{padding:5px 11px;border-radius:999px;border:1.5px solid var(--tan);color:var(--brown-soft);font-size:12px;font-weight:500;background:none}
.tokchip.sel{border-color:transparent;color:#fff;font-weight:700}
.tokchip.taken{color:var(--tan);text-decoration:line-through;pointer-events:none}
.prow .rm{position:absolute;top:-7px;left:-7px;width:24px;height:24px;border-radius:50%;background:var(--slate);color:var(--ivory);font-size:13px;font-weight:800;line-height:24px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.prow-add{border:2.5px dashed #b8a67c;border-radius:14px;height:60px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.prow-add i{width:26px;height:26px;border-radius:50%;border:2px solid var(--brown-mid);color:var(--brown-mid);font-weight:800;font-size:16px;line-height:22px;text-align:center;font-style:normal}
.prow-add span{font-weight:700;font-size:15px;color:var(--brown-mid)}
.setup-rules{flex:1;background:#fff;border-radius:14px;padding:16px 20px;display:flex;flex-direction:column;gap:11px;box-shadow:0 2px 8px rgba(34,48,63,.1);overflow:auto}
.setup-rules .rt{font-size:24px;color:var(--navy);line-height:1}
.ruler{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ruler .a{display:flex;flex-direction:column;gap:1px}
.ruler .a b{font-weight:800;font-size:14px;color:var(--slate)}
.ruler .a s{text-decoration:none;font-size:11.5px;color:var(--brown-mid)}
.switch{width:46px;height:26px;border-radius:999px;background:var(--tan3);padding:3px;display:flex;justify-content:flex-end;flex:none;transition:background .15s}
.switch i{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.switch.on{background:var(--olive);justify-content:flex-start}
.hr{height:1px;background:#e8dec4;flex:none}
.stepper{display:flex;align-items:center;gap:10px}
.stepper button{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--tan);color:var(--brown-soft);font-weight:800;font-size:16px}
.stepper b{font-weight:800;font-size:19px;color:var(--slate);min-width:74px;text-align:center}
.hint-box{background:var(--honeybox);border-radius:10px;padding:9px 12px;font-size:11.5px;color:var(--honey-deep);line-height:1.6}
.setup-start{display:flex;justify-content:center}
.setup-start .btn{width:380px;height:58px;font-size:26px;color:var(--ivory)}

/* ============ 1a شاشة اللعب ============ */
#scr-game{gap:14px;padding:14px}
.board-frame{width:754px;height:754px;flex:none;background:var(--frame);border-radius:16px;padding:6px;
  box-shadow:0 12px 34px rgba(0,0,0,.4);align-self:center}
#board{width:742px;height:742px;background:var(--ivory);border-radius:10px;position:relative;overflow:hidden}
.tile{position:absolute;background:var(--ivory);box-shadow:inset 0 0 0 .5px var(--tan);display:flex;overflow:hidden}
.tile.tap:active{filter:brightness(.94)}
.tile .body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;text-align:center;min-width:0;min-height:0}
.tile .nm{font-weight:700;font-size:10.5px;line-height:1.12;color:var(--ink)}
.tile .pr{font-weight:500;font-size:9.5px;color:var(--brown-mid)}
.tile.side .nm{font-size:10px}.tile.side .pr{font-size:9px}
.tile .glyph{width:18px;height:18px;border-radius:50%;color:#fff;font-weight:700;font-size:10px;line-height:18px;text-align:center;flex:none}
.tile.side .glyph{width:16px;height:16px;font-size:9px;line-height:16px}
.strip{flex:none;display:flex;align-items:center;justify-content:center;gap:2px}
.tile.tb .strip{height:14px;width:100%}
.tile.side .strip{width:13px;height:100%;flex-direction:column}
.strip .bdg{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.85)}
.strip .hs{width:8px;height:8px;border-radius:1.5px;background:var(--teal);box-shadow:0 0 0 1px rgba(255,255,255,.75)}
.strip .ht{width:13px;height:9px;border-radius:2px;background:var(--red);box-shadow:0 0 0 1px rgba(255,255,255,.8)}
.tile.side .strip .ht{width:9px;height:13px}
.own{position:absolute;z-index:2}
.tile.mort .body{opacity:.45}
.tile.mort .own{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.85) 0 3px,transparent 3px 6px)}
/* الأركان */
.corner{position:absolute;width:92px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:4px;box-shadow:inset 0 0 0 .5px var(--tan);background:var(--ivory)}
.corner .big{font-family:'Lalezar','Tajawal',sans-serif;line-height:1.1}
.corner .sm{font-size:8px;color:var(--brown-mid);line-height:1.3}
.corner .ar{color:var(--honey);font-size:15px;line-height:1}
.corner.go{background:var(--navy);color:var(--ivory)}
.corner.go .sm{color:rgba(246,239,221,.85)}
.corner.gojail{background:var(--red);color:var(--ivory)}
.corner.gojail .sm{color:rgba(246,239,221,.85)}
.jail-bars{width:40px;height:26px;border:2px solid var(--slate);border-radius:4px;
  background:repeating-linear-gradient(90deg,var(--slate) 0 4px,transparent 4px 10px)}
.cafe-cup{width:24px;height:24px;border-radius:50%;border:3px solid var(--olive)}
.cafe-line{width:32px;height:4px;border-radius:2px;background:var(--olive)}
/* وسط الرقعة */
#bcenter{position:absolute;left:92px;top:92px;width:558px;height:558px;background:var(--center);
  background-image:repeating-linear-gradient(45deg,rgba(138,115,74,.05) 0 2px,transparent 2px 24px),
  repeating-linear-gradient(-45deg,rgba(138,115,74,.05) 0 2px,transparent 2px 24px);
  display:flex;align-items:center;justify-content:center}
.deckcard{position:absolute;width:150px;height:94px;border-radius:10px;box-shadow:0 6px 14px rgba(0,0,0,.22);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0}
.deckcard b{width:34px;height:34px;border-radius:50%;border:2.5px solid rgba(255,255,255,.6);color:#fff;
  font-family:'Lalezar','Tajawal',sans-serif;font-weight:400;font-size:17px;line-height:30px;text-align:center}
.deckcard span{color:rgba(255,255,255,.92);font-weight:700;font-size:12px}
.deckcard.tadh{right:28px;top:30px;background:var(--teal);transform:rotate(4deg)}
.deckcard.zhar{left:28px;bottom:30px;background:var(--orange);transform:rotate(-5deg)}
.cstack{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px;text-align:center;z-index:1}
.cstack .logo{font-size:56px;line-height:1;color:var(--navy)}
.cstack .bar{width:110px;height:5px;border-radius:3px;background:var(--brick)}
.cstack .tag{font-size:11.5px;color:var(--brown-mid);font-weight:500}
.seasons{display:flex;gap:6px;margin-top:4px}
.seasons span{padding:4px 12px;border-radius:999px;border:1.5px solid var(--tan2);color:var(--brown-mid);font-weight:500;font-size:12px}
.seasons span.on{background:var(--honey);border-color:var(--honey);color:var(--honey-dark);font-weight:800}
.snote{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--brown-soft);font-weight:500}
.snote i{width:9px;height:9px;border-radius:50%;font-style:normal}
.dicerow{display:flex;align-items:center;gap:12px;margin-top:6px;min-height:48px}
.die{width:48px;height:48px;background:#fff;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.18),inset 0 0 0 1px #e2d8bd;
  display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;padding:7px}
.die i{width:8px;height:8px;border-radius:50%;background:var(--slate);place-self:center}
.die.shake{animation:dshake .5s linear infinite}
@keyframes dshake{0%{transform:rotate(0) translate(0,0)}25%{transform:rotate(-9deg) translate(-1px,1px)}50%{transform:rotate(6deg)}75%{transform:rotate(-5deg) translate(1px,-1px)}100%{transform:rotate(0)}}
.rollpill{background:var(--slate);color:var(--ivory);font-size:12px;font-weight:700;border-radius:999px;padding:6px 14px;max-width:210px}
.clegend{display:flex;align-items:center;gap:14px;font-size:10.5px;color:var(--brown-mid);margin-top:6px}
.clegend span{display:inline-flex;align-items:center;gap:5px}
.clegend i{width:8px;height:8px;border-radius:50%;font-style:normal}
/* قطع اللاعبين */
.piece{position:absolute;width:32px;height:32px;border-radius:50%;border:2.5px solid #fff;
  box-shadow:0 3px 8px rgba(0,0,0,.35);color:#fff;font-weight:800;font-size:14px;line-height:27px;text-align:center;
  transition:left .13s linear,top .13s linear,opacity .3s;z-index:6;pointer-events:none}
.piece.glide{transition:left .45s ease,top .45s ease}
.piece.jailed{opacity:.55}
/* البانو الجانبي */
.panel{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.phead{background:var(--ivory);border-radius:12px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.phead .r{display:flex;align-items:center;gap:10px}
.phead .lg{font-size:22px;color:var(--navy);line-height:1}
.phead .round{background:var(--slate);color:var(--ivory);font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px}
.phead .season{background:var(--honey);color:var(--honey-dark);font-size:12px;font-weight:800;border-radius:999px;padding:4px 12px}
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pcard{background:#fff;border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pcard.turn{box-shadow:0 0 0 3px var(--honey),0 8px 18px rgba(0,0,0,.25)}
.pcard.dead{opacity:.5;filter:grayscale(.6)}
.pcard .top{display:flex;align-items:center;gap:9px}
.pcard .av{width:34px;height:34px;border-radius:50%;color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex:none}
.pcard .nm{display:flex;flex-direction:column;gap:2px;min-width:0}
.pcard .nm b{font-weight:800;font-size:15px;color:var(--slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .st{font-size:10px;font-weight:700;border-radius:999px;padding:1px 8px;align-self:flex-start}
.pcard .cash{font-weight:800;font-size:21px;color:var(--slate)}
.pcard .strips{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.pcard .strips s{font-size:10px;color:var(--brown-mid);font-weight:500;text-decoration:none}
.pcard .strips i{width:14px;height:9px;border-radius:2px;font-style:normal}
#rollbtn{height:54px;border-radius:12px;font-size:23px;color:var(--ivory);flex:none;position:relative}
#rollbtn .tmr{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.25);
  border-radius:999px;font:700 13px 'Tajawal';padding:3px 10px}
.pacts{display:flex;gap:8px}
.pacts .btn{flex:1;height:38px;border:1.5px solid rgba(246,239,221,.45);border-radius:10px;color:var(--ivory);font-weight:700;font-size:13px}
.plog{background:rgba(246,239,221,.94);border-radius:12px;padding:11px 14px;display:flex;flex-direction:column;gap:7px;flex:1;overflow:hidden}
.plog .t{font-weight:800;font-size:13px;color:var(--slate)}
.lentry{display:flex;gap:7px;align-items:flex-start;font-size:12px;color:var(--brown-body);line-height:1.45}
.lentry i{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px;font-style:normal}

/* ---------- توست ---------- */
#toasts{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;
  align-items:center;gap:8px;z-index:60;pointer-events:none;width:700px}
.toast{background:var(--slate);color:var(--ivory);font-size:14px;font-weight:700;border-radius:999px;
  padding:9px 20px;box-shadow:0 6px 18px rgba(0,0,0,.4);animation:tpop .22s ease;max-width:680px;text-align:center}
.toast.honey{background:var(--honey);color:var(--honey-dark)}
@keyframes tpop{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}

/* ---------- نظام النوافذ ---------- */
#overlays{position:absolute;inset:0;z-index:40;pointer-events:none}
.ovl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.ovl.dim{background:rgba(10,22,38,.72)}
.pop{animation:pop .22s ease}
@keyframes pop{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.dlg{background:var(--ivory);border-radius:16px;padding:22px 26px;box-shadow:0 18px 44px rgba(0,0,0,.45);
  display:flex;flex-direction:column;gap:14px;max-width:640px;max-height:740px}
.dlg .dt{font-size:30px;color:var(--navy);line-height:1.15}
.dlg .db{font-size:14.5px;color:var(--brown-body);line-height:1.7}
.dlg-btns{display:flex;gap:10px;margin-top:2px}
.dlg-btns .btn{flex:1;height:50px;font-size:17px;font-weight:800;border-radius:12px}
.dlg-btns .btn.lz{font-size:22px;font-weight:400}
.btn-navy{background:var(--navy);color:var(--ivory)}
.btn-ghost{border:1.5px solid var(--tan);color:var(--brown-soft)}
.btn-red{border:1.5px solid var(--red);color:var(--red)}

/* ---------- عقد الملكية ---------- */
.deed{width:420px;background:var(--cream);border-radius:19px;display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 22px 52px oklch(12% .025 250 / .48)}
.deed-hero,.deed-mini-photo{position:relative;background-color:var(--center);background-repeat:no-repeat;background-size:cover;
  background-position:center;isolation:isolate;overflow:hidden}
.deed-hero{height:218px;flex:none;box-shadow:inset 0 6px 0 var(--deed-accent)}
.deed-hero::before,.deed-mini-photo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,oklch(17% .045 250 / .94) 0%,oklch(20% .035 250 / .54) 43%,oklch(22% .025 250 / .04) 78%)}
.deed-h{position:absolute;inset:auto 0 0;padding:48px 20px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  color:oklch(97% .012 88);text-align:right}
.deed-h .k{padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.25px;
  box-shadow:0 3px 10px oklch(12% .025 250 / .25)}
.deed-h .n{font-family:'Lalezar','Tajawal',sans-serif;font-size:40px;line-height:1;text-shadow:0 2px 9px oklch(12% .025 250 / .6)}
.deed-photo-caption{color:oklch(93% .018 88);font-size:12px;font-weight:700;text-shadow:0 1px 5px oklch(12% .025 250 / .7)}
.deed-h .b{display:inline-flex;align-items:center;gap:6px;margin-top:3px;font-size:10.5px;font-weight:700;color:oklch(94% .02 88)}
.deed-h .b i{width:8px;height:8px;border-radius:50%;background:oklch(96% .015 88);font-style:normal}
.deed-body{padding:15px 18px 17px;display:flex;flex-direction:column;gap:11px}
.deed-summary{display:grid;grid-template-columns:1fr 1fr;padding-bottom:12px;border-bottom:1px solid oklch(78% .025 82 / .55)}
.deed-metric{display:flex;flex-direction:column;gap:2px;padding-inline:12px}
.deed-metric:first-child{padding-inline-start:0;border-inline-end:1px solid oklch(78% .025 82 / .55)}
.deed-metric:last-child{padding-inline-end:0}
.deed-metric span{font-size:11px;color:var(--brown-mid);font-weight:700}
.deed-metric b{font-size:20px;color:var(--slate);font-weight:800}
.deed-rent-block{display:flex;flex-direction:column;gap:5px}
.deed-rents-title{font-size:11px;color:var(--brown-mid);font-weight:800}
.deed-rents{display:flex;flex-direction:column}
.deed-rents .rr{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid oklch(82% .024 82 / .48);padding:5px 0}
.deed-rents .rr:last-child{border-bottom:0}
.deed-rents .rr span{font-size:12.5px;color:var(--brown-body);font-weight:500}
.deed-rents .rr b{font-size:13px;color:var(--slate);font-weight:800}
.deed-foot{display:flex;justify-content:space-between;gap:16px;padding-top:1px;font-size:11.5px;color:var(--brown-mid);font-weight:600}
.deed-note{background:var(--honeybox);border-radius:9px;padding:8px 12px;font-size:11.5px;color:var(--honey-deep);font-weight:600;text-align:center}
/* نسخة مصغرة للمزاد */
.deed.mini{width:240px;border-radius:14px;transform:rotate(-2deg);box-shadow:0 16px 38px oklch(12% .025 250 / .48)}
.deed-mini-photo{height:152px;box-shadow:inset 0 5px 0 var(--deed-accent)}
.deed.mini .deed-h{padding:38px 14px 13px}
.deed.mini .deed-h .k{font-size:9px;padding:3px 8px}
.deed.mini .deed-h .n{font-size:29px}
.deed.mini .deed-photo-caption{font-size:10px}
.deed.mini .mrows{padding:13px 15px;display:flex;flex-direction:column;gap:7px}
.deed.mini .mr{display:flex;justify-content:space-between;font-size:12px}
.deed.mini .mr span{color:var(--brown-mid);font-weight:500}
.deed.mini .mr b{color:var(--slate);font-weight:800}
.deed.mini .mb{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--honey-deep);background:var(--honeybox);border-radius:8px;padding:5px 10px}
.deed.mini .mb i{width:8px;height:8px;border-radius:50%;font-style:normal}

/* ---------- 1d نافذة الشراء ---------- */
.buy-wrap{display:flex;align-items:center;justify-content:center;gap:44px;width:100%;height:100%}
.buy-side{width:390px;display:flex;flex-direction:column;gap:14px}
.buy-side .t{font-size:42px;color:var(--ivory);line-height:1.1}
.buy-side .s{font-size:15px;color:rgba(246,239,221,.85);line-height:1.7}
.cashbox{background:rgba(255,255,255,.12);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}
.cashbox span{font-size:13.5px;color:rgba(246,239,221,.8);font-weight:500}
.cashbox b{font-weight:800;font-size:21px;color:var(--honey)}
.buy-side .btn-honey{height:58px;font-size:25px}
.buy-side .btn-line{height:50px;border-radius:14px;font-size:16.5px}
.buy-side .fine{font-size:12px;color:rgba(246,239,221,.6);line-height:1.6}

/* ---------- بطاقة حدث (سحب) ---------- */
.event-card{width:430px;background:#fff;border-radius:14px;overflow:hidden;display:flex;box-shadow:0 18px 44px rgba(0,0,0,.5);
  animation:cardflip .45s ease}
@keyframes cardflip{0%{transform:perspective(900px) rotateY(85deg) scale(.7);opacity:0}100%{transform:none;opacity:1}}
.event-card .edge{width:12px;flex:none}
.event-card .in{flex:1;padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.event-card .tag{align-self:flex-start;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:3px 12px}
.event-card .body{font-weight:700;font-size:19px;color:var(--slate);line-height:1.6}
.event-card .amt{align-self:flex-start;background:var(--center);color:var(--honey-deep);font-size:14px;font-weight:800;border-radius:8px;padding:6px 14px}
.event-card .btn{height:48px;font-size:22px;border-radius:12px;margin-top:4px}

/* ---------- 1f سوق الدلالة ---------- */
.auc-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 46px;width:100%;height:100%}
.auc-head{display:flex;flex-direction:column;align-items:center;gap:3px}
.auc-head .t{font-size:46px;color:var(--honey);line-height:1.1}
.auc-head .s{font-size:13.5px;color:rgba(246,239,221,.75);font-weight:500}
.auc-mid{display:flex;align-items:center;gap:40px;flex:1;min-height:0}
.auc-center{display:flex;flex-direction:column;align-items:center;gap:9px}
.auc-center .lab{font-size:13.5px;color:rgba(246,239,221,.75);font-weight:500}
.auc-center .bid{font-size:76px;color:#fff;line-height:.95}
.auc-center .who{color:#fff;font-weight:800;font-size:15px;border-radius:999px;padding:5px 18px;min-height:29px}
.auc-patter{background:var(--ivory);border-radius:14px;padding:10px 18px;max-width:330px;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.auc-patter span{font-size:14px;color:var(--honey-dark);font-weight:700;line-height:1.6}
.auc-bar{width:300px;height:8px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}
.auc-bar i{display:block;height:8px;border-radius:999px;background:var(--honey);transition:width .1s linear}
.auc-hint{font-size:11px;color:rgba(246,239,221,.55)}
.auc-bidders{display:flex;gap:14px}
.bidcard{width:268px;background:var(--ivory);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:9px;box-shadow:0 2px 10px rgba(0,0,0,.3);transition:opacity .2s}
.bidcard.lead{box-shadow:0 0 0 3px var(--honey),0 8px 18px rgba(0,0,0,.4)}
.bidcard.out{opacity:.55}
.bidcard .top{display:flex;align-items:center;gap:9px}
.bidcard .av{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.bidcard .top b{font-weight:800;font-size:15px;color:var(--slate);flex:1}
.bidcard .top s{font-size:12.5px;color:var(--brown-mid);font-weight:700;text-decoration:none}
.bidcard .note{font-size:11px;font-weight:800;border-radius:999px;padding:2px 10px;align-self:flex-start}
.bidcard .acts{display:flex;gap:8px}
.bidcard .acts .btn{flex:1;height:36px;background:var(--navy);color:var(--ivory);font-weight:800;font-size:13.5px;border-radius:9px}
.bidcard .acts .out-btn{flex:none;width:74px;background:none;border:1.5px solid var(--red);color:var(--red);font-weight:700;font-size:12.5px}

/* ---------- 1g شاشة الفوز ---------- */
.win-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;width:100%;height:100%;position:relative;overflow:hidden}
.conf{position:absolute;width:10px;height:16px;border-radius:2px;animation:confsway 2.6s ease-in-out infinite alternate}
@keyframes confsway{from{transform:rotate(-30deg) translateY(0)}to{transform:rotate(28deg) translateY(14px)}}
.win-av{width:92px;height:92px;border-radius:50%;border:4px solid var(--honey);color:#fff;
  font-family:'Lalezar','Tajawal',sans-serif;font-size:42px;line-height:84px;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.4)}
.win-t{font-size:76px;line-height:1;color:var(--ivory)}
.win-s{font-size:17px;font-weight:700;color:var(--honey)}
.win-stats{display:flex;gap:14px;margin-top:8px}
.wstat{background:rgba(255,255,255,.1);border-radius:12px;padding:12px 20px;display:flex;flex-direction:column;align-items:center;gap:2px}
.wstat b{font-family:'Lalezar','Tajawal',sans-serif;font-weight:400;font-size:26px;color:#fff;line-height:1.1}
.wstat span{font-size:11.5px;color:rgba(246,239,221,.7)}
.win-btns{display:flex;gap:14px;margin-top:12px}
.win-btns .btn-honey{width:240px;height:56px;font-size:24px}
.win-btns .btn-line{width:220px;height:56px;border-radius:14px;font-size:17px}
.win-note{position:absolute;bottom:26px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:9px 18px;font-size:13px;color:rgba(246,239,221,.85);font-weight:500}

/* ---------- تمرير الجهاز ---------- */
.pass-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%}
.pass-av{width:120px;height:120px;border-radius:50%;border:5px solid rgba(255,255,255,.85);color:#fff;
  font-weight:800;font-size:52px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.pass-t{font-size:58px;color:var(--ivory);line-height:1.1;text-align:center}
.pass-chips{display:flex;gap:10px}
.pass-chips span{background:rgba(255,255,255,.12);color:rgba(246,239,221,.9);font-size:13px;font-weight:700;border-radius:999px;padding:6px 16px}
.pass-wrap .btn-honey{width:280px;height:58px;font-size:25px;margin-top:10px}

/* ---------- إدارة الأملاك / البدلة ---------- */
.mg-panel{width:1080px;max-height:720px;background:var(--ivory);border-radius:16px;padding:20px 24px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.mg-head{display:flex;align-items:center;justify-content:space-between}
.mg-head .t{font-size:28px;color:var(--navy);line-height:1}
.mg-head .cash{background:#fff;border-radius:999px;padding:6px 16px;font-weight:800;font-size:16px;color:var(--slate);box-shadow:0 2px 6px rgba(34,48,63,.12)}
.mg-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;overflow-y:auto;padding:2px}
.mg-item{background:#fff;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(34,48,63,.1)}
.mg-item .h{padding:7px 12px;display:flex;align-items:center;justify-content:space-between;color:#fff}
.mg-item .h b{font-weight:800;font-size:14px}
.mg-item .h span{font-size:11px;font-weight:700;opacity:.9}
.mg-item .in{padding:9px 12px;display:flex;flex-direction:column;gap:8px}
.mg-item .stat{font-size:11.5px;color:var(--brown-mid);font-weight:500;line-height:1.5}
.mg-item .row{display:flex;gap:6px;flex-wrap:wrap}
.mg-item .row .btn{flex:1;min-width:70px;height:32px;font-size:11.5px;font-weight:700;border-radius:8px}
.mg-empty{padding:30px;text-align:center;color:var(--brown-mid);font-weight:500}
.mg-close{align-self:center;width:220px;height:46px;font-size:16px;font-weight:800;border-radius:12px}
/* البدلة */
.tr-cols{display:flex;gap:14px;min-height:0;flex:1}
.tr-col{flex:1;background:#fff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:9px;box-shadow:0 2px 8px rgba(34,48,63,.1);min-height:0}
.tr-col .h{display:flex;align-items:center;gap:8px}
.tr-col .h .av{width:28px;height:28px;border-radius:50%;color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.tr-col .h b{font-weight:800;font-size:15px;color:var(--slate)}
.tr-props{display:flex;flex-wrap:wrap;gap:6px;overflow-y:auto;flex:1;align-content:flex-start}
.tr-chip{padding:5px 11px;border-radius:999px;border:1.5px solid var(--tan);color:var(--brown-soft);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.tr-chip i{width:9px;height:9px;border-radius:3px;font-style:normal}
.tr-chip.sel{background:var(--slate);border-color:var(--slate);color:#fff}
.tr-money{display:flex;align-items:center;justify-content:space-between;background:var(--center);border-radius:10px;padding:7px 10px}
.tr-money span{font-size:12px;font-weight:700;color:var(--brown-soft)}
.pickrow{display:flex;gap:10px;justify-content:center}
.pickrow .btn{height:52px;padding:0 22px;border-radius:12px;font-weight:800;font-size:16px;color:#fff}
/* عرض البدلة للطرف الثاني */
.offer-box{background:#fff;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px rgba(34,48,63,.1)}
.offer-box .t{font-weight:800;font-size:14px;color:var(--slate)}
.offer-box .items{display:flex;flex-wrap:wrap;gap:6px}

/* ---------- القوانين ---------- */
.rules-panel{width:900px;max-height:730px;background:var(--ivory);border-radius:16px;padding:22px 26px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.rules-list{overflow-y:auto;display:flex;flex-direction:column;gap:11px;padding-left:6px}
.rule-item{background:#fff;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 6px rgba(34,48,63,.08)}
.rule-item b{font-weight:800;font-size:15px;color:var(--navy)}
.rule-item span{font-size:13px;color:var(--brown-body);line-height:1.7}

/* ---------- الديون ---------- */
.debt-panel{width:1080px;max-height:720px;background:var(--ivory);border-radius:16px;padding:20px 24px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.debt-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.debt-top .t{font-size:28px;color:var(--red);line-height:1.1}
.debt-top .s{font-size:13px;color:var(--brown-body);font-weight:500}
.debt-btns{display:flex;gap:10px;justify-content:center}
.debt-btns .btn{height:50px;padding:0 26px;font-size:17px;font-weight:800;border-radius:12px}

.scroll-thin::-webkit-scrollbar{width:6px}
.scroll-thin::-webkit-scrollbar-thumb{background:var(--tan);border-radius:3px}

/* ============ تجربة اللعب الغامرة ============ */
:root{
  --game-night:oklch(31% .095 250);
  --game-night-2:oklch(24% .07 250);
  --game-paper:oklch(95% .035 88);
  --game-honey:oklch(79% .155 78);
  --game-terracotta:oklch(58% .145 38);
  --game-ink:oklch(28% .03 70);
}
#scr-game{display:none;position:absolute;inset:0;padding:0;overflow:hidden;isolation:isolate;
  background-color:var(--game-night);background-image:
  radial-gradient(circle at 14% 18%,oklch(61% .12 245 / .22) 0 2px,transparent 3px),
  radial-gradient(circle at 86% 78%,oklch(81% .14 80 / .18) 0 2px,transparent 3px)}
#scr-game.on{display:block}
.board-shell{position:absolute;left:50%;top:50%;width:780px;height:780px;transform:translate(-50%,-50%);z-index:4}
.board-shell .board-frame{position:absolute;left:13px;top:13px;margin:0;align-self:auto;transform:scale(1.0345);transform-origin:center;
  box-shadow:0 22px 55px oklch(12% .04 250 / .55),0 0 0 1px oklch(85% .04 90 / .2)}
.game-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.game-ambient i{position:absolute;width:110px;height:110px;border:1px solid oklch(84% .08 85 / .16);transform:rotate(45deg);border-radius:24px}
.game-ambient i:nth-child(1){left:48px;top:74px}.game-ambient i:nth-child(2){right:58px;bottom:58px;width:160px;height:160px}
.game-ambient i:nth-child(3){right:120px;top:-48px;width:88px;height:88px}.game-ambient i:nth-child(4){left:120px;bottom:-55px;width:150px;height:150px}

/* الواجهات المخفية */
#scr-game .panel{position:absolute;right:18px;top:72px;bottom:72px;width:370px;display:flex;z-index:31;
  padding:13px;background:var(--game-paper);border-radius:18px;box-shadow:0 18px 50px oklch(12% .04 250 / .55);
  transform:translateX(calc(100% + 34px));transition:transform .24s cubic-bezier(.22,1,.36,1)}
#scr-game .panel.open{transform:none}
#scr-game .panel .phead{padding:4px 2px 10px;background:transparent;box-shadow:none;border-radius:0}
#scr-game .panel .pcards{grid-template-columns:1fr 1fr;gap:8px}
#scr-game .panel .pcard{box-shadow:0 1px 5px oklch(28% .04 75 / .12);padding:9px}
#scr-game .panel .plog{background:oklch(98% .018 88);box-shadow:none;border:1px solid oklch(83% .05 83);min-height:0}
.drawer-trigger{position:absolute;z-index:33;display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:0 14px;background:var(--game-paper);color:var(--game-night);font-weight:800;font-size:13px;
  box-shadow:0 7px 18px oklch(12% .04 250 / .35);transition:transform .2s cubic-bezier(.22,1,.36,1)}
.drawer-trigger i{font-style:normal;font-size:18px;line-height:1}
.side-trigger{right:0;top:110px;border-radius:14px 0 0 14px;writing-mode:vertical-rl;padding:12px 8px}
.side-trigger.open{transform:translateX(-370px)}
.side-trigger.open i{transform:rotate(180deg)}
.top-trigger{left:18px;top:0;border-radius:0 0 14px 14px}
.top-drawer{position:absolute;left:50%;top:0;z-index:32;width:720px;min-height:118px;padding:15px 18px;
  transform:translate(-50%,calc(-100% - 20px));transition:transform .24s cubic-bezier(.22,1,.36,1);
  background:var(--game-paper);border-radius:0 0 20px 20px;box-shadow:0 16px 42px oklch(12% .04 250 / .5);
  display:flex;align-items:center;gap:14px}
.top-drawer.open{transform:translate(-50%,0)}
.top-drawer-title{display:flex;flex-direction:column;min-width:130px}.top-drawer-title span{font-size:20px;color:var(--navy)}
.top-drawer-title small{font-size:10px;color:var(--brown-mid);font-weight:600}
.hud-prefs{display:grid;grid-template-columns:1fr 1fr;gap:7px;flex:1}
.hud-pref{height:39px;padding:0 10px;border-radius:10px;background:oklch(90% .025 88);display:grid;
  grid-template-columns:24px 1fr auto;align-items:center;gap:6px;text-align:right;color:var(--game-ink)}
.hud-pref i{font-style:normal;font-size:16px}.hud-pref span{font-size:11px;font-weight:800}.hud-pref b{font-size:9px;color:var(--brown-mid)}
.hud-pref.on{background:oklch(86% .11 82)}.hud-pref.on b{color:oklch(35% .08 75)}
.fullscreen-btn{width:92px;height:46px;border-radius:11px;background:var(--navy);color:var(--ivory);font-weight:800;font-size:11px}
.quick-actions{position:absolute;right:18px;bottom:14px;z-index:15;gap:7px;background:var(--game-night-2);padding:7px;border-radius:14px;
  box-shadow:0 9px 24px oklch(12% .04 250 / .38)}
.quick-actions .btn{flex:none;width:74px;height:38px;border:1px solid oklch(91% .02 88 / .38);font-size:12px}

/* المرشدان */
.mascot-guide{position:absolute;left:-12px;bottom:-38px;width:286px;height:410px;z-index:12;pointer-events:none;
  filter:drop-shadow(0 16px 14px oklch(12% .04 250 / .42))}
.mascot-guide img{position:absolute;left:0;bottom:0;width:272px;height:auto;max-height:390px;object-fit:contain;object-position:bottom}
.mascot-guide[data-speaker="nejma"] img{transform:translateX(-4px)}
.mascot-guide[data-speaker="salah"] img{transform:translateX(4px)}
.guide-bubble{position:absolute;left:180px;bottom:270px;width:260px;min-height:76px;padding:12px 15px;background:var(--game-paper);
  border:2px solid var(--game-honey);border-radius:18px 18px 18px 5px;color:var(--game-ink);box-shadow:0 10px 26px oklch(12% .04 250 / .35);
  display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(8px) scale(.97);transition:opacity .18s,transform .18s}
.guide-bubble.show{opacity:1;transform:none}
.guide-bubble b{font-size:12px;color:var(--brick)}.guide-bubble span{font-size:13px;font-weight:700;line-height:1.45}

/* زر الزهر في قلب الرقعة */
.center-roll{width:238px;height:48px;border-radius:13px;font-size:21px;color:var(--ivory);position:relative;margin-top:4px;flex:none}
.center-roll .tmr{position:absolute;left:10px;top:50%;transform:translateY(-50%);background:oklch(20% .03 60 / .28);
  border-radius:999px;font:700 12px 'Tajawal';padding:3px 8px}

/* شخصيات اللاعبين */
.avatar-sprite{display:inline-block;background-image:url('../assets/characters/player-avatars.png');background-repeat:no-repeat;background-size:200% 200%;background-color:var(--navy)}
.avatar-0{background-position:0 0}.avatar-1{background-position:100% 0}.avatar-2{background-position:0 100%}.avatar-3{background-position:100% 100%}
.piece{width:40px;height:40px;border:3px solid var(--game-paper);line-height:34px;font-size:0;touch-action:none;cursor:grab;
  box-shadow:0 4px 10px oklch(15% .03 250 / .5);transition:left .18s linear,top .18s linear,opacity .3s,transform .15s,box-shadow .15s}
.piece.drag-ready{pointer-events:auto;cursor:grab;z-index:14;animation:pieceReady 1.05s ease-in-out infinite alternate;
  box-shadow:0 0 0 5px oklch(82% .16 80 / .65),0 7px 15px oklch(12% .04 250 / .5)}
.piece.dragging{cursor:grabbing;z-index:18;transform:scale(1.22);transition:none;box-shadow:0 12px 24px oklch(12% .04 250 / .52)}
.piece.drop-wrong{animation:pieceWrong .34s ease}
@keyframes pieceReady{to{transform:translateY(-4px);box-shadow:0 0 0 8px oklch(82% .16 80 / .25),0 9px 18px oklch(12% .04 250 / .55)}}
@keyframes pieceWrong{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.move-target{z-index:10!important;overflow:visible!important;box-shadow:inset 0 0 0 4px var(--game-honey),0 0 0 5px oklch(82% .16 80 / .4)!important;
  animation:targetPulse .8s ease-in-out infinite alternate}
.drop-correct{z-index:10!important;box-shadow:inset 0 0 0 5px oklch(67% .15 150),0 0 24px oklch(67% .15 150 / .75)!important}
.target-pin{position:absolute;left:50%;top:50%;z-index:12;transform:translate(-50%,-50%);padding:3px 7px;border-radius:999px;
  background:var(--game-honey);color:oklch(29% .07 70);font-size:9px;font-weight:900;white-space:nowrap;box-shadow:0 3px 9px oklch(12% .04 250 / .3)}
@keyframes targetPulse{to{filter:brightness(1.12);transform:scale(1.045)}}

/* صور البطاقات */
.deckcard{background-size:cover;background-position:center;isolation:isolate;overflow:hidden}
.deckcard::before{content:"";position:absolute;inset:0;background:oklch(25% .04 60 / .45);z-index:-1}
.deckcard.zhar{background-image:url('../assets/cards/zhar-card-art.png')}.deckcard.tadh{background-image:url('../assets/cards/tadh-card-art.png')}
.deckcard b,.deckcard span{filter:drop-shadow(0 2px 2px oklch(12% .03 60 / .7))}
.event-card{width:520px;border-radius:18px;background:var(--game-paper);display:block;overflow:hidden}
.event-card .edge{display:none}.event-card .in{padding:16px 18px 18px;gap:10px}
.event-art{height:168px;border-radius:12px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px oklch(30% .03 60 / .12)}
.event-art.zhar{background-image:url('../assets/cards/zhar-card-art.png')}.event-art.tadh{background-image:url('../assets/cards/tadh-card-art.png')}
.event-card .body{font-size:18px;line-height:1.5}.event-card .tag{margin-top:-30px;position:relative;box-shadow:0 4px 10px oklch(12% .03 60 / .28)}

/* انفجارات صغيرة عند النجاح */
#fx-layer{position:absolute;inset:0;z-index:55;pointer-events:none;overflow:hidden}
.fx-particle{position:absolute;width:10px;height:10px;border-radius:3px;background:var(--game-honey);animation:fxBurst .68s cubic-bezier(.22,1,.36,1) forwards}
.fx-particle:nth-child(3n){background:var(--brick);border-radius:50%}.fx-particle:nth-child(3n+1){background:oklch(66% .12 150)}
@keyframes fxBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}25%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.85)}}

/* القائمة و شاشة التمرير */
.menu-mascots{position:absolute;right:16px;bottom:-54px;width:360px;height:500px;object-fit:contain;object-position:bottom;pointer-events:none;
  filter:drop-shadow(0 18px 16px oklch(12% .04 250 / .45))}
.menu-host-chip{position:absolute;right:260px;bottom:54px;background:var(--game-paper);color:var(--game-ink);font-weight:800;font-size:13px;
  padding:9px 14px;border-radius:15px 15px 4px 15px;box-shadow:0 8px 20px oklch(12% .04 250 / .35)}
.pass-av,.win-av,.prow .av,.pcard .av,.bidcard .av,.tr-col .av{background-size:200% 200%;font-size:0;background-color:var(--navy)}
.pass-av,.win-av{background-image:url('../assets/characters/player-avatars.png')}

/* الحكاية، التقويم والقرارات */
.season-calendar{display:flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid oklch(75% .035 82 / .55);border-radius:10px;
  color:var(--brown-mid);font-size:9.5px;font-weight:700}
.season-calendar .now{color:var(--navy);font-weight:900}.season-calendar i{font-style:normal;color:var(--tan)}
.season-calendar .market{padding-inline-start:7px;border-inline-start:1px solid oklch(75% .035 82 / .55);color:var(--honey-deep)}
.tile.festival-city{box-shadow:inset 0 0 0 3px oklch(76% .16 80),0 0 14px oklch(76% .16 80 / .6)}
.tile.winter-star{box-shadow:inset 0 0 0 3px oklch(70% .105 235),0 0 14px oklch(70% .105 235 / .55)}
.piece.golden-token{border-color:oklch(83% .16 82);box-shadow:0 0 0 4px oklch(83% .16 82 / .42),0 7px 16px oklch(20% .04 70 / .5)}
.piece.golden-token::after{content:'ب';position:absolute;left:-8px;top:-9px;width:17px;height:17px;border-radius:50%;background:oklch(83% .16 82);
  color:oklch(30% .06 72);font-size:9px;line-height:17px;font-weight:900}
.pcard.dead{opacity:.78;filter:none}.tokchip.locked{opacity:.48;pointer-events:none}.tokchip.locked::after{content:' · 3 فوز'}
.rule-mode{display:flex;flex-direction:column;gap:7px}.rule-mode .a{display:flex;flex-direction:column}.rule-mode .a b{font-size:14px}.rule-mode .a s{font-size:11.5px;color:var(--brown-mid);text-decoration:none}
.mode-choice{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--tan);border-radius:10px;overflow:hidden}
.mode-choice button{height:36px;font-size:11.5px;font-weight:800;color:var(--brown-mid)}.mode-choice button.on{background:var(--navy);color:var(--ivory)}
.pass-tip{width:570px;min-height:64px;padding:11px 16px;border:1px solid oklch(83% .11 80 / .65);border-radius:13px;
  background:oklch(24% .065 250);display:flex;flex-direction:column;gap:3px;text-align:center}
.pass-tip b{font-size:11px;color:var(--honey)}.pass-tip span{font-size:14px;line-height:1.55;color:var(--ivory);font-weight:700}
.card-reader{align-self:flex-start;font-size:11px;font-weight:800;color:var(--teal)}
.event-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.event-choices .btn{font-size:14px!important;font-weight:800;color:var(--ivory)}
.event-choices .btn-honey{color:var(--honey-dark)}
.auctioneer-chip{padding:4px 12px;border-radius:999px;background:oklch(84% .14 82);color:oklch(31% .055 72);font-size:11px;font-weight:900}
.auctioneer-call{width:210px;height:42px;background:var(--brick);color:var(--ivory);font-size:14px;font-weight:900}
.mg-head-meta{display:flex;align-items:center;gap:8px}.bank-stock{padding:6px 12px;border-radius:999px;background:var(--honeybox);color:var(--honey-deep);font-size:11px;font-weight:800}

.story-panel{width:720px;max-height:720px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 36px;border-radius:20px;
  background:var(--game-paper);color:var(--game-ink);box-shadow:0 22px 55px oklch(12% .035 250 / .5);text-align:center}
.story-kicker{font-size:11px;font-weight:900;color:var(--brick)}.story-title{font-size:48px;line-height:1;color:var(--navy)}
.story-copy{max-width:600px;font-size:15px;font-weight:700;line-height:1.7;color:var(--brown-body)}.story-next{font-size:12px;font-weight:800;color:var(--brown-mid)}
.story-panel>.btn{width:270px;height:52px;font-size:22px}.deal-rows{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.deal-row{display:grid;grid-template-columns:36px 90px 1fr;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid oklch(82% .025 82 / .55);text-align:right}
.deal-row .av{width:34px;height:34px;border-radius:50%}.deal-row b{font-size:13px}.deal-row span{font-size:12px;color:var(--brown-mid);font-weight:700}
.season-wheel{position:relative;width:220px;height:220px;border:2px solid oklch(74% .07 82);border-radius:50%;animation:seasonTurn .72s cubic-bezier(.22,1,.36,1)}
.season-wheel::after{content:'الفصول';position:absolute;inset:68px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--ivory);font-size:16px;font-weight:900}
.season-wheel span{position:absolute;padding:5px 10px;border-radius:999px;background:var(--center);font-size:11px;font-weight:800;color:var(--brown-mid)}
.season-wheel span:nth-child(1){top:-13px;left:50%;transform:translateX(-50%)}.season-wheel span:nth-child(2){right:-18px;top:50%;transform:translateY(-50%)}
.season-wheel span:nth-child(3){bottom:-13px;left:50%;transform:translateX(-50%)}.season-wheel span:nth-child(4){left:-18px;top:50%;transform:translateY(-50%)}
.season-wheel span.on{background:var(--honey);color:var(--honey-dark);box-shadow:0 0 0 5px oklch(82% .15 82 / .25)}
@keyframes seasonTurn{from{transform:rotate(-90deg) scale(.82);opacity:.35}to{transform:none;opacity:1}}
.market-story{background:oklch(24% .045 48);color:var(--ivory)}.market-story .story-title{color:var(--honey)}.market-story .story-copy{color:oklch(90% .025 82)}
.market-count{font:400 94px/1 'Lalezar','Tajawal',sans-serif;color:var(--honey)}

.win-wrap{gap:7px}.win-av{width:70px;height:70px}.win-t{font-size:58px}.win-s{font-size:14px}.win-stats{margin-top:2px;gap:8px}
.wstat{padding:8px 14px}.wstat b{font-size:21px}.win-awards{display:flex;gap:7px;max-width:1040px}.award{min-width:150px;padding:7px 11px;border-radius:10px;background:oklch(96% .012 88 / .1);display:flex;flex-direction:column;align-items:center}
.award b{font-size:11px;color:var(--honey)}.award span{font-size:13px;color:var(--ivory);font-weight:900}.award small{font-size:9px;color:oklch(84% .025 88)}
.win-btns{margin-top:3px}.win-btns .btn{width:190px;height:48px}.win-btns .btn-honey{font-size:20px}.btn-share{background:var(--teal);color:var(--ivory);font-size:14px;font-weight:900}
.win-note{position:static;padding:5px 12px;font-size:10px}.profiles-panel{width:760px;max-height:690px;padding:24px 28px;background:var(--ivory);border-radius:18px;display:flex;flex-direction:column;gap:11px}
.profiles-panel .dt{font-size:34px;color:var(--navy)}.profiles-sub{font-size:12px;color:var(--brown-mid)}.profile-list{display:flex;flex-direction:column;gap:7px;overflow:auto}
.profile-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--tan2)}
.profile-row>div:first-child{display:flex;flex-direction:column}.profile-row b{font-size:15px}.profile-row span{font-size:11px;color:var(--brown-mid)}
.profile-score{text-align:center}.profile-score b{font-size:23px;color:var(--navy)}.profile-row i{font-style:normal;padding:5px 9px;border-radius:999px;background:var(--honey);font-size:10px;font-weight:900}
.profiles-empty{padding:45px;text-align:center;color:var(--brown-mid);font-weight:700}

html[data-reduced-motion="true"] *,html[data-reduced-motion="true"] *::before,html[data-reduced-motion="true"] *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){.fx-particle{display:none}}
#scr-menu{position:absolute}
.trade-avatar{width:90px;height:90px}
#stage button:focus-visible,#stage input:focus-visible{outline:3px solid var(--honey);outline-offset:3px}

/* ============================================================
   التجاوب: النوافذ خارج المسرح المصغّر + لوحة الإدارة
   ============================================================ */
/* النوافذ و التوست تُعرض بحجمها الطبيعي مهما صغرت الرقعة */
#overlays{position:fixed;inset:0;z-index:40;pointer-events:none}
#overlays .ovl{position:absolute;inset:0;pointer-events:auto;overflow:auto;padding:12px}
#overlays .ovl>*{margin:auto}
#toasts{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);
  width:min(700px,94vw);z-index:60}
.toast{font-size:clamp(12.5px,2.6vw,14px)}

/* أغطية عامة للمكونات على الشاشات الصغيرة */
.dlg{width:auto;max-width:min(640px,94vw);max-height:min(760px,92dvh);overflow:auto}
.deed{width:min(350px,92vw)}
.event-card{width:min(430px,94vw)}
.buy-wrap{flex-wrap:wrap;gap:clamp(16px,3.5vw,44px);align-content:center}
.buy-side{width:min(390px,94vw)}
.buy-side .t{font-size:clamp(28px,6vw,42px)}
.mg-panel,.debt-panel{width:min(1080px,96vw);max-height:min(720px,92dvh)}
.rules-panel{width:min(900px,96vw);max-height:min(730px,90dvh)}
.profiles-panel{max-width:94vw;max-height:90dvh;overflow:auto}
.mg-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.tr-cols{flex-wrap:wrap}
.tr-col{min-width:min(300px,88vw)}
.auc-wrap{gap:12px;padding:clamp(12px,2.5vw,30px) clamp(12px,3vw,46px)}
.auc-mid{flex-wrap:wrap;justify-content:center;gap:clamp(14px,2.5vw,40px)}
.auc-bidders{flex-wrap:wrap;justify-content:center}
.auc-center .bid{font-size:clamp(44px,9vw,76px)}
.win-wrap{padding:20px}
.win-t{font-size:clamp(34px,8vw,76px)}
.win-stats,.win-btns,.win-awards{flex-wrap:wrap;justify-content:center}
.pass-wrap{padding:18px}
.pass-t{font-size:clamp(26px,6.5vw,58px);text-align:center}
.pass-chips{flex-wrap:wrap;justify-content:center}
.story-panel{max-width:94vw}
@media (max-width:740px){
  .bidcard{width:min(320px,94vw)}
  .dlg-btns{flex-wrap:wrap}
  .dlg-btns .btn{min-width:45%}
  .win-btns .btn{width:min(280px,90vw)}
  .deed.mini{transform:none}
  .arow label{min-width:100%}
}

/* شاشة «دوّر جهازك» */
#rotate-hint{flex-direction:column;gap:18px;height:100dvh}
#rotate-hint img{width:min(240px,55vw);filter:drop-shadow(0 8px 18px rgba(0,0,0,.4))}
#rotate-hint span{font-size:clamp(16px,4.5vw,22px);line-height:1.9}
#rotate-hint small{color:var(--tan2);font-weight:500}

/* تحسينات الشاشات الصغيرة (المسرح مصغّر) */
html.compact .piece{width:52px;height:52px;border-width:3px;transform:translate(-6px,-6px)}
html.compact .piece.dragging{transform:translate(-6px,-6px) scale(1.22)}
html.compact .tile .nm{font-size:12px}
html.compact .tile .pr{font-size:10.5px}
html.compact .tile.side .nm{font-size:11.5px}
html.compact .strip .bdg{width:9px;height:9px}

/* ---------- لوحة الإدارة ---------- */
.admin-panel{width:min(1120px,97vw);height:min(800px,94dvh);background:var(--ivory);border-radius:16px;
  display:flex;flex-direction:column;box-shadow:0 18px 44px rgba(0,0,0,.5);overflow:hidden}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  padding:12px 18px;background:var(--slate);color:var(--ivory)}
.admin-head .lz{font-size:24px}
.admin-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px;background:#fff;border-bottom:1px solid var(--tan2)}
.admin-tabs button{padding:7px 14px;border-radius:999px;font-weight:700;font-size:13px;
  color:var(--brown-soft);border:1.5px solid var(--tan);transition:all .12s}
.admin-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.admin-body{flex:1;overflow:auto;padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.asec{background:#fff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:9px;
  box-shadow:0 2px 6px rgba(34,48,63,.08)}
.asec>b{color:var(--navy);font-size:15px}
.arow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.arow label{font-size:12.5px;font-weight:700;color:var(--brown-soft);min-width:150px}
.ain,.aarea{flex:1;min-width:180px;border:1.5px solid var(--tan);border-radius:8px;padding:7px 10px;
  font-size:13.5px;background:#fff;color:var(--slate);font-family:inherit}
.aarea{resize:vertical;line-height:1.7;width:100%}
.anum{max-width:110px;min-width:90px;text-align:center;font-weight:800}
.ahint{font-size:11.5px;color:var(--brown-mid);line-height:1.7;font-weight:500}
.admin-foot{display:flex;gap:10px;padding:12px 16px;background:#fff;border-top:1px solid var(--tan2);flex-wrap:wrap}
.admin-foot .btn{height:44px;padding:0 22px;border-radius:10px;font-weight:800;font-size:14px}
.acode{background:var(--slate);color:#d7e3ef;border-radius:10px;padding:10px 12px;
  font-family:Consolas,monospace;font-size:12px;direction:ltr;text-align:left;overflow:auto;white-space:pre}
.dict-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dict-row .ain{min-width:140px}
.adel{width:34px;height:34px;border-radius:8px;border:1.5px solid var(--red);color:var(--red);font-weight:800;flex:none}
