/* Panja Design System v1 — the only source of visual tokens for new UI */
:root{
  --pj-bg:#061820;--pj-canvas:#071f28;--pj-surface:#0b2831;--pj-surface-raised:#123b43;--pj-surface-soft:#173f47;
  --pj-green:#35c98f;--pj-green-light:#96efca;--pj-green-dark:#087050;
  --pj-gold:#e1c36d;--pj-gold-light:#ffe49a;--pj-gold-dark:#6b4c19;
  --pj-diamond:#4edbd5;--pj-gita:#b96be8;--pj-danger:#e86a78;--pj-disabled:#607873;
  --pj-text:#f6f4e8;--pj-text-soft:#c7d9d4;--pj-text-muted:#9cb8b2;--pj-ink:#05241a;
  --pj-border:rgba(225,195,109,.42);--pj-border-soft:rgba(143,185,178,.22);
  --pj-shadow:#020d12;--pj-overlay:rgba(2,9,13,.84);
  --pj-font:"Modam","Vazirmatn",Tahoma,sans-serif;--pj-font-number:"Modam",Arial,Tahoma,sans-serif;
  --pj-text-2xs:9px;--pj-text-xs:10px;--pj-text-sm:12px;--pj-text-md:14px;--pj-text-lg:16px;--pj-text-xl:20px;--pj-text-2xl:24px;--pj-text-display:32px;
  --pj-weight-regular:400;--pj-weight-bold:700;--pj-weight-black:900;
  --pj-space-1:4px;--pj-space-2:8px;--pj-space-3:12px;--pj-space-4:16px;--pj-space-5:20px;--pj-space-6:24px;
  --pj-radius-sm:8px;--pj-radius-control:12px;--pj-radius-card:18px;--pj-radius-panel:24px;--pj-radius-sheet:29px;--pj-radius-pill:999px;
  --pj-shadow-control:0 5px 0 var(--pj-shadow),0 9px 16px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.22);
  --pj-shadow-card:0 7px 0 #03141a,0 15px 26px rgba(0,0,0,.54),inset 0 1px rgba(255,255,255,.12);
  --pj-shadow-modal:0 -24px 70px rgba(0,0,0,.9),inset 0 1px rgba(255,255,255,.18);
  --pj-fast:160ms;--pj-normal:260ms;--pj-ease:cubic-bezier(.2,.8,.2,1);
  --pj-icon-sm:22px;--pj-icon-md:32px;--pj-icon-lg:52px;--pj-icon-hero:80px;
}

body.panja-mode,.panja-mode button,.panja-mode input,.panja-mode select{font-family:var(--pj-font)}
.panja-mode :is(p,h1,h2,h3,h4,label,small,strong,b,button,.competition-preview-sheet,.score-guide-sheet,.score-guide-list){direction:rtl;unicode-bidi:plaintext}
.panja-mode button{transition:transform var(--pj-fast) var(--pj-ease),filter var(--pj-fast) ease,box-shadow var(--pj-fast) ease}
.panja-mode button:focus-visible{outline:3px solid var(--pj-green-light);outline-offset:3px}

/* Buttons: primary, secondary, quiet and destructive */
:is(.competition-preview-play,.back-home,.tournament-primary,.level-up-card button){min-height:48px;border:1px solid var(--pj-green-light)!important;border-radius:var(--pj-radius-control)!important;background:linear-gradient(#44daa2,var(--pj-green))!important;box-shadow:0 6px 0 var(--pj-green-dark),0 11px 18px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.45)!important;color:var(--pj-ink)!important;font-size:var(--pj-text-lg)!important;font-weight:var(--pj-weight-black)!important}
:is(.competition-preview-play,.back-home,.tournament-primary,.level-up-card button):active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--pj-green-dark),0 5px 10px rgba(0,0,0,.48)!important}
:is(.competition-preview-play,.back-home,.tournament-primary):disabled{border-color:var(--pj-disabled)!important;background:linear-gradient(#39504e,#273c3b)!important;box-shadow:0 4px 0 #172929!important;color:#91a49f!important}
:is(.competition-preview-close,.score-guide-close,.close-result-leaderboard){border:1px solid var(--pj-border)!important;border-radius:50%!important;background:var(--pj-canvas)!important;color:var(--pj-gold)!important;box-shadow:0 4px 9px rgba(0,0,0,.48)!important}

/* Panels and cards */
:is(.tournament-card,.shop-package,.profile-card,.settings-card,.competition-result){border-color:var(--pj-border)!important;border-radius:var(--pj-radius-card);box-shadow:var(--pj-shadow-card)}
:is(.competition-preview-sheet,.score-guide-sheet){border:1px solid var(--pj-border);border-radius:var(--pj-radius-sheet) var(--pj-radius-sheet) 0 0;background:radial-gradient(circle at 50% -5%,rgba(53,201,143,.22),transparent 32%),linear-gradient(160deg,var(--pj-surface-raised),var(--pj-bg) 72%);box-shadow:var(--pj-shadow-modal);color:var(--pj-text)}
:is(.competition-preview-backdrop,.score-guide-backdrop){background:var(--pj-overlay);backdrop-filter:blur(6px)}
.sheet-handle{background:rgba(225,195,109,.55)}

/* Typography roles */
:is(.competition-preview-sheet,.score-guide-sheet) h2{color:var(--pj-gold-light);font-size:var(--pj-text-2xl);font-weight:var(--pj-weight-black);line-height:1.35;text-shadow:0 3px 0 var(--pj-shadow)}
.score-guide-list>section>div{direction:rtl;text-align:right}.score-guide-list>section>span{direction:ltr}.score-guide-list>section>div strong,.score-guide-list>section>div b{font-family:var(--pj-font);line-height:1.55}
:is(.section-head,.store-section-title) h3{color:var(--pj-gold);font-size:var(--pj-text-xl);font-weight:var(--pj-weight-black)}
.table-tag,.competition-preview-meta span{border-radius:var(--pj-radius-pill);color:var(--pj-text-soft);font-size:var(--pj-text-xs);font-weight:var(--pj-weight-bold)}
.currency-amount,#store-gift-timer,#gift-home-timer{font-family:var(--pj-font-number);font-variant-numeric:tabular-nums;font-weight:var(--pj-weight-black)}

/* Icon contract: illustrated assets, consistent boxes, no arbitrary emoji for primary navigation */
.panja-mode :is(.reward-art,.bottom-nav button span,.booster-icon,.package-art){background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 7px 6px rgba(0,0,0,.65))}
.panja-mode .mini-currency{width:var(--pj-icon-sm);height:var(--pj-icon-sm)}
.panja-mode .currency-bar i{width:28px;height:28px;flex-basis:28px}

@media(min-width:700px){:is(.competition-preview-sheet,.score-guide-sheet){border-radius:var(--pj-radius-sheet)}}
@media(prefers-reduced-motion:reduce){.panja-mode *,.panja-mode *:before,.panja-mode *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Readability floor: new Persian UI must not fall below these sizes. */
.panja-mode :is(button,label,p,small,span){text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.panja-mode :is(.competition-preview-sheet,.leaderboard-card,.result-section,.profile-card,.settings-card) p{font-size:max(11px,var(--pj-text-sm));line-height:1.7}
.panja-mode :is(.competition-preview-sheet,.leaderboard-card,.result-section) button{font-size:max(12px,var(--pj-text-md));font-weight:var(--pj-weight-black)}

/* Unified feedback-message contract */
.panja-mode :is(.lobby-message,.tournament-message,#competition-preview-message,#calendar-message){font-family:var(--pj-font)!important;font-size:var(--pj-text-sm)!important;font-weight:var(--pj-weight-bold)!important;line-height:1.65!important;text-align:center!important}
.panja-mode :is(.lobby-message,.tournament-message,#competition-preview-message,#calendar-message):not(:empty){display:block;min-height:34px;padding:7px 11px!important;border:1px solid color-mix(in srgb,var(--pj-gold) 28%,transparent);border-radius:var(--pj-radius-control);background:color-mix(in srgb,var(--pj-surface) 92%,transparent);color:var(--pj-gold-light)}
.panja-mode :is(.leaderboard-score,.compact-score strong,.compact-rank,.rank-number,.weekly-currency b,.avatar-price b,.avatar-wallet-balance b){font-family:var(--pj-font-number)!important;font-variant-numeric:tabular-nums}
