/* ============================================================
   بورصة — الهوية الجديدة (الدفعة الأولى)
   نظام ثقيل + عرض بسيط. الثقل من الخط والحجم والمحاذاة والفراغ والسكون، لا من المؤثرات.
   الشخصية واحدة في الوضعين؛ يختلف الجو اللوني فقط. الأحمر وظيفي، والنحاس نادر.
   ============================================================ */
:root{
  --bx-bg:#F0F7FA; --bx-surface:#FFFFFF; --bx-ink:#0B284A; --bx-ink-soft:#425466; --bx-on-ink:#FFFFFF;
  --bx-price:#2CA9B7; --bx-sky:#8FBED0; --bx-copper:#B58A44; --bx-loss:#C2362B;
  --bx-rule:rgba(11,40,74,.10); --bx-line:rgba(11,40,74,.16);
  --bx-font:Alexandria,'Segoe UI',Tahoma,sans-serif;
  --bx-ease-heavy:cubic-bezier(.3,0,.12,1); --bx-ease-settle:cubic-bezier(.22,.61,.36,1);
}
html[data-theme="dark"]{
  --bx-bg:#082135; --bx-surface:#0C2B44; --bx-ink:#F3F6F4; --bx-ink-soft:#9DB0BE; --bx-on-ink:#082135;
  --bx-price:#00A3A3; --bx-sky:#63C2BE; --bx-loss:#E5534B;
  --bx-rule:rgba(243,246,244,.10); --bx-line:rgba(243,246,244,.16);
}

/* ── المشهد: الشاشات التي انتقلت للهوية تُسقط الإطار القديم كله ── */
html[data-bx] body,html[data-bx] .shell-h{background:var(--bx-bg)!important;color:var(--bx-ink)!important}
html[data-bx] .shell-h>.blob{display:none}

/* ── الشعار ── */
.bx-logo{display:block;width:100%;height:auto;overflow:visible}
.bx-mark{position:relative;width:min(84vw,900px,calc(72vh * 880 / 540));aspect-ratio:880/540;transform-origin:center;will-change:transform}
/* العلامة الواحدة: «بورصة» + المؤشر + الاسم في SVG واحد؛ يتغير حجمها وموقعها فقط */
.bx-lockup{display:block;width:100%;height:auto;overflow:visible}
.bx-mark .bx-dot{fill:var(--bx-price)}
/* «الجولة الأولى» بعد رسو العلامة: قصير وثقيل، بلغة جرس الجولة */
.bx-open-round{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;--rise:0%}
.bx-open-round>span{display:block;font:800 clamp(40px,7vw,104px)/1.3 var(--bx-font);color:var(--bx-ink);clip-path:inset(calc(100% - var(--rise)) 0 0 0)}
/* أثناء الافتتاحية علامة الرأس مخفية؛ علامة المسرح هي التي تهبط في مكانها */
html[data-bx-opening] .bx-header .bx-lockup{visibility:hidden}

/* ── مسرح الافتتاحية: الخلفية نفسها، بلا زخرفة ── */
.bx-stage{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:var(--bx-bg);overflow:hidden}

/* ── الرأس ── */
.bx-header{position:fixed;top:0;inset-inline:0;z-index:40;height:64px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--bx-bg);border-bottom:1px solid var(--bx-rule);color:var(--bx-ink);font-family:var(--bx-font)}
.bx-header-end{display:flex;align-items:center;gap:2px;flex:none}
.bx-header-round{font:500 13px/1 var(--bx-font);color:var(--bx-ink-soft);white-space:nowrap;margin-inline-end:8px}
.bx-icon-btn{width:40px;height:40px;min-height:0;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--bx-ink-soft);cursor:pointer;padding:0}
.bx-icon-btn:hover,.bx-icon-btn:focus-visible{background:var(--bx-rule);color:var(--bx-ink)}
.bx-icon{display:block}
.bx-confirm{position:absolute;top:calc(100% + 8px);inset-inline-end:12px;width:min(240px,calc(100vw - 24px));padding:16px;border-radius:14px;background:var(--bx-surface);border:1px solid var(--bx-line);display:grid;gap:14px}
.bx-confirm p{margin:0;font:700 15px/1.4 var(--bx-font);color:var(--bx-ink)}
.bx-confirm div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bx-header.is-big{position:static;height:clamp(96px,8vw,128px);padding:0 48px;border-bottom:0}
.bx-header.is-big .bx-header-round{font-size:clamp(16px,1.3vw,22px)}
.bx-dock{display:inline-flex;align-items:center;min-width:0}
.bx-dock .bx-lockup{width:auto;height:48px}
.bx-dock.is-big .bx-lockup{height:clamp(64px,6vw,96px)}

/* ── الأزرار ── */
.bx-btn{min-height:52px;padding:0 20px;border:0;border-radius:12px;background:var(--bx-ink);color:var(--bx-on-ink);font:700 15px/1.2 var(--bx-font);cursor:pointer}
.bx-btn:disabled{opacity:.38;cursor:default}
.bx-btn.is-wide{width:100%}
.bx-btn:focus-visible,.bx-icon-btn:focus-visible,.bx-vote-option:focus-visible,.bx-q .answer-option:focus-visible{outline:2px solid var(--bx-price)!important;outline-offset:2px;box-shadow:none}
.bx-btn:focus:not(:focus-visible){outline:none!important;box-shadow:none}
.bx-btn.is-quiet{background:transparent;color:var(--bx-ink);border:1px solid var(--bx-line)}

/* ── جرس الجولة: المسرح يهدأ، الاسم يستقر، ثم ينسحب ── */
.bx-bell{position:fixed;inset:0;z-index:150;display:grid;place-items:center;pointer-events:auto;--d:0ms;--dur:1100ms}
.bx-bell::before{content:"";position:absolute;inset:0;background:var(--bx-bg);opacity:0;animation:bxClean var(--dur) linear both;animation-delay:var(--d)}
.bx-bell-word{position:relative;display:block;overflow:hidden;font:800 clamp(40px,7vw,104px)/1.3 var(--bx-font);color:var(--bx-ink);
  animation:bxOut 200ms linear forwards;animation-delay:calc(var(--d) + var(--dur) - 220ms)}
.bx-bell-word>span{display:block;clip-path:inset(100% 0 0 0);animation:bxRiseClip 320ms var(--bx-ease-heavy) both;animation-delay:calc(var(--d) + 120ms)}
.bx-bell.is-compact .bx-bell-word{font-size:clamp(34px,10vw,46px)}
@keyframes bxClean{0%{opacity:0}14%{opacity:.98}82%{opacity:.98}100%{opacity:0}}
@keyframes bxRiseClip{to{clip-path:inset(0 0 0 0)}}
@keyframes bxIn{from{opacity:0}}
@keyframes bxOut{to{opacity:0}}

/* ── قبل فتح الأسئلة: سكون ── */
.bx-preopen{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:var(--bx-bg);
  animation:bxIn 240ms linear both,bxOut 260ms linear forwards;animation-delay:var(--d),var(--out)}
.bx-preopen-mark{display:grid;justify-items:center;gap:6px;text-align:center}
.bx-preopen small{font:500 clamp(15px,1.6vw,22px)/1.4 var(--bx-font);color:var(--bx-ink-soft)}
.bx-preopen strong{font:800 clamp(46px,8vw,116px)/1.2 var(--bx-font);color:var(--bx-ink)}

/* ── مؤقت: شريط واحد، والأحمر لآخر خمس ثوانٍ فقط ── */
.bx-clock{display:flex;align-items:center;gap:12px;min-height:24px}
.bx-clock-track{position:relative;flex:1;height:6px;border-radius:3px;background:var(--bx-rule);overflow:hidden;direction:ltr}
.bx-clock-bar{position:absolute;inset:0;background:var(--bx-price);transform-origin:right center;will-change:transform;transition:background-color 300ms linear}
.bx-clock[data-mode="warn"] .bx-clock-bar{background:var(--bx-loss)}
.bx-clock-slot{position:relative;flex:none;min-width:3.2em;height:24px;display:grid;place-items:center}
.bx-clock-num{font:600 15px/1 var(--bx-font);font-variant-numeric:tabular-nums;color:var(--bx-ink-soft);transition:color 300ms linear}
.bx-clock[data-mode="warn"] .bx-clock-num{color:var(--bx-loss)}
.bx-clock-word{position:absolute;inset:0;display:grid;place-items:center;font:700 14px/1 var(--bx-font);white-space:nowrap;opacity:0;pointer-events:none}
.bx-clock-filled{color:var(--bx-price)}
.bx-clock-closed{color:var(--bx-loss)}
/* «نُفّذ» يفتتح السؤال التالي لحظة مكان الرقم، ثم يعود الرقم */
.bx-clock[data-outcome="filled"] .bx-clock-filled{animation:bxHold 620ms linear both}
.bx-clock[data-outcome="filled"] .bx-clock-num{animation:bxIn 160ms linear both;animation-delay:520ms}
@keyframes bxHold{0%,80%{opacity:1}100%{opacity:0}}
/* «أُغلق» يحل محل الرقم عند انتهاء الوقت */
.bx-clock[data-mode="closed"] .bx-clock-num{opacity:0}
.bx-clock[data-mode="closed"] .bx-clock-closed{opacity:1}

/* ── السؤال: بلا بطاقة حاوية — التصنيف والتقدم، الوقت، السؤال، الخيارات ── */
.bx-scene{max-width:620px;font-family:var(--bx-font)}
html[data-bx] .bursah-player-shell.bx-scene{width:min(100%,620px)!important;max-width:620px!important}
.bx-q{color:var(--bx-ink);animation:bxEnter 260ms var(--bx-ease-settle) both}
@keyframes bxEnter{from{opacity:0;transform:translateY(6px)}}
.bx-q-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;font:500 13px/1.4 var(--bx-font);color:var(--bx-ink-soft)}
.bx-q-pos{font-variant-numeric:tabular-nums;white-space:nowrap}
.bx-q .bx-clock{margin-bottom:28px}
.bx-q-note{margin:-16px 0 20px;font:500 13px/1.5 var(--bx-font);color:var(--bx-ink-soft)}
.bx-q-note[data-cut="1"]{color:var(--bx-loss)}
.bx-q-text{margin:0 0 28px;font:700 clamp(21px,5.6vw,28px)/1.6 var(--bx-font);color:var(--bx-ink)}
.bx-q-image{margin:-8px 0 24px}
.bx-q-options{display:grid;gap:10px}
.bx-q .answer-option,.bx-vote-option{width:100%;min-height:56px;padding:14px 18px;border-radius:12px;background:var(--bx-surface);border:1px solid var(--bx-line);color:var(--bx-ink);
  font:600 16px/1.6 var(--bx-font);text-align:right;cursor:pointer;transition:border-color 120ms linear,background-color 120ms linear,opacity 200ms linear}
.bx-q .answer-option:hover:not(:disabled),.bx-vote-option:hover{border-color:var(--bx-price)}
.bx-q .answer-option.is-picked,.bx-vote-option.is-on{border-color:var(--bx-price);background:color-mix(in srgb,var(--bx-price) 12%,var(--bx-surface));box-shadow:inset 0 0 0 1px var(--bx-price)}
.bx-q .answer-option:disabled{cursor:default}
.bx-q:has(.bx-clock[data-mode="closed"]) .answer-option{opacity:.4;pointer-events:none}
.bx-q-status{margin:16px 0 0;text-align:center;font:500 13px/1.5 var(--bx-font);color:var(--bx-ink-soft)}
.bx-q-error{margin-top:16px;display:grid;gap:10px;color:var(--bx-loss);font:600 14px/1.6 var(--bx-font)}
.bx-q-error p{margin:0}
.bx-q.is-waiting{padding:56px 0;text-align:center;font:500 15px/1.5 var(--bx-font);color:var(--bx-ink-soft)}

/* ── التصويت: الإطار فقط ── */
.bx-vote{display:grid;gap:20px;color:var(--bx-ink)}
.bx-vote.is-loading{padding:56px 0;text-align:center;font:500 15px/1.5 var(--bx-font);color:var(--bx-ink-soft)}
.bx-vote-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:8px}
.bx-vote-head h2{margin:0;font:800 clamp(24px,6.4vw,30px)/1.3 var(--bx-font);color:var(--bx-ink)}
.bx-vote-count{font:600 17px/1 var(--bx-font);font-variant-numeric:tabular-nums;color:var(--bx-ink-soft);white-space:nowrap}
.bx-vote-list{display:grid;gap:8px}
.bx-vote-option{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bx-check{flex:none;position:relative;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--bx-line);transition:background-color 120ms linear,border-color 120ms linear}
.bx-vote-option.is-on .bx-check{background:var(--bx-price);border-color:var(--bx-price)}
.bx-vote-option.is-on .bx-check::after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:solid var(--bx-surface);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* قرارات اللاعب: كتلة مالية مترابطة، لا تغيّر ألوان الشركات أو منطق اللعب. */
.bx-decision .mk-wallet{background:#0b284a!important;border:0!important;border-radius:18px!important;padding:20px 12px!important;box-shadow:none!important;clip-path:none!important}
.bx-decision:has(.bx-budget-track) .mk-wallet{border-radius:18px 18px 0 0!important}
.bx-decision .mk-wallet>div+div{border-inline-start:1px solid rgba(255,255,255,.18)}
.bx-decision .mk-wallet span,.bx-decision .mk-wallet .num{color:#fff!important}
.bx-decision .mk-wallet svg{color:#8fbed0!important}
.bx-budget-track{height:6px;background:#193e60;overflow:hidden;border-radius:0 0 18px 18px;direction:rtl}
.bx-budget-track>i{display:block;height:100%;background:#2ca9b7}
.bx-scene .bx-shop>div:first-child{border-inline-start:4px solid var(--bx-price)!important;padding:20px!important}
.bx-scene .bx-shop .text-base{font-size:24px;line-height:1.4}
.bx-scene .bx-shop>div{box-shadow:none}
.bx-scene .bx-perk{border-inline-start:3px solid var(--bx-price)!important;background:var(--bx-surface)!important;padding:18px!important}
.bx-scene .bx-perk button{min-height:44px}
.bx-scene .bx-result{border:1px solid var(--bx-line)!important;background:var(--bx-surface)!important}
.bx-scene .bx-result-total{background:#0b284a!important;padding:24px!important}
.bx-scene .bx-result-total>.text-xs{color:#e1edf4!important}
.bx-scene .bx-result-total>.num{font-size:38px!important;line-height:1.3}
.bx-scene .bx-result-total[data-gain="positive"]>.num{color:#87ddc7!important}
.bx-scene .bx-result-total[data-gain="negative"]>.num{color:#ffaaa2!important}
@media(max-width:420px){.bx-decision .mk-wallet{padding:18px 6px!important}.bx-scene .bx-result-total{padding:20px!important}}

/* ── شاشة العرض: لوحة قاعة ── */
.bx-display{min-height:100vh;display:flex;flex-direction:column;font-family:var(--bx-font);color:var(--bx-ink)}
.bx-display-main{flex:1;display:grid;place-items:center;padding:0 48px 8vh}
.bx-board{display:grid;justify-items:center;text-align:center}
.bx-board h1{margin:0 0 4vh;font:800 clamp(34px,3.6vw,64px)/1.3 var(--bx-font);color:var(--bx-ink)}
.bx-board-num{font:800 clamp(120px,16vw,260px)/1 var(--bx-font);font-variant-numeric:tabular-nums;color:var(--bx-ink)}
.bx-board-word{margin-top:1.4vh;font:500 clamp(18px,1.8vw,30px)/1.4 var(--bx-font);color:var(--bx-ink-soft)}
.bx-board-bar{width:min(52vw,760px);height:8px;margin-top:5vh;border-radius:4px;background:var(--bx-rule);overflow:hidden;direction:ltr}
.bx-board-bar>i{display:block;height:100%;background:var(--bx-price);transform-origin:right center;transition:transform 250ms linear,background-color 300ms linear}
.bx-board-bar[data-warn="1"]>i{background:var(--bx-loss)}

@media (prefers-reduced-motion: reduce){
  .bx-bell *,.bx-bell::before,.bx-preopen,.bx-q,.bx-clock *{animation:none!important;transition:none!important}
  .bx-bell::before{opacity:.98}.bx-bell-word>span{clip-path:none}
}

.bursa-entry-mark { display: inline-flex; align-items: center; justify-content: center; filter: none !important; }
html[data-theme="dark"] body.admin-mode .bursa-entry-mark {
  background: transparent; border: 0; border-radius: 0; padding: 0;
}

/* Extend the existing approved scene identity to the public entry, not game rules. */
.shell-h:has(.market-entry-layout) { background: var(--bx-bg) !important; color: var(--bx-ink) !important; }
.shell-h:has(.market-entry-layout) > .blob { display: none; }
.market-entry-layout { background: var(--bx-bg) !important; }
.market-visual {
  background: var(--bx-bg) !important; color: var(--bx-ink) !important;
  justify-content: center; gap: 28px; border-inline-end: 1px solid var(--bx-line);
}
.market-visual::before, .market-visual::after, .entry-market-art { display: none !important; }
.market-visual .bursa-entry-mark { display: inline-flex !important; width: 280px !important; height: 172px !important; }
.entry-visual-copy p { color: var(--bx-ink-soft); }
.market-entry-panel { color: var(--bx-ink); }
.market-brand-top .bursa-entry-mark { display: inline-flex !important; width: 100px !important; height: 62px !important; }
@media(max-width:640px) {
  .market-visual { height: auto; min-height: 290px; border-inline-end: 0; border-bottom: 1px solid var(--bx-line); gap: 18px; padding: 24px; }
  .market-visual .bursa-entry-mark { width: 180px !important; height: 110px !important; }
  .market-visual h2 { position: static !important; font-size: 25px; max-width: none; }
  .market-brand-top { display: flex !important; align-items: center; }
}
