/* e'thix AI — the invitation beta (Owner 2026-09-29): the «الوصول بدعوة» door, the consent screen, the beta page, the ribbon.
   Design tokens come from core.css (the app); the door page loads only this file, so every token has a fallback and the
   door follows the system's light/dark on its own. Mobile first (320–414), one column; logical properties for RTL/LTR. No
   inline style anywhere (strict CSP). */

/* ─────────── the door: «الوصول بدعوة» (standalone page, no app script) ─────────── */
.bt-gate-page{margin:0;min-height:100dvh;display:grid;place-items:center;background:var(--paper,#E5E0D8);color:var(--ink,#28303B);font-family:'IBM Plex Sans Arabic',system-ui,'Segoe UI','Noto Sans Arabic',sans-serif;line-height:1.7;-webkit-text-size-adjust:100%}
.bt-gate{box-sizing:border-box;inline-size:min(100%,520px);margin:0;padding:32px 20px calc(40px + env(safe-area-inset-bottom));display:grid;gap:14px;outline:none}
.bt-gate-brand{margin:0;font-weight:700;letter-spacing:.02em;font-size:15px;color:var(--gold-text,#7A613C)}
.bt-gate-mark{display:inline-grid;place-items:center;inline-size:52px;block-size:52px;border-radius:16px;background:var(--g-accent,linear-gradient(135deg,#F3E2BD,#C9AE7E 55%,#9A7E51));color:var(--on-accent,#1B2028)}
.bt-gate-lang{display:grid;gap:8px}
.bt-gate-lang h1,.bt-gate-lang h2{margin:0;font-size:clamp(24px,6vw,30px);line-height:1.25}
.bt-gate-lang p{margin:0;color:var(--ink-soft,#4A5461)}
.bt-gate-note{font-size:14px;color:var(--muted,#6B7480)!important}
.bt-gate-sep{inline-size:100%;margin:6px 0;border:0;border-block-start:1px solid var(--line,rgba(40,48,59,.12))}
@media (prefers-color-scheme:dark){
  .bt-gate-page{--paper:#1B2028;--ink:#EDE7DD;--ink-soft:#BFC3CA;--muted:#9AA1AA;--gold-text:#D8BE90;--line:rgba(237,231,221,.12)}
}

/* ─────────── the ribbon: «نسخة تجريبية للمستثمرين» ─────────── */
.bt-ribbon{position:fixed;inset-block-start:0;inset-inline:0;margin-inline:auto;inline-size:max-content;max-inline-size:calc(100vw - 96px);z-index:60;display:inline-flex;align-items:center;justify-content:center;block-size:16px;padding:0 12px;border-radius:0 0 10px 10px;background:var(--g-accent);color:var(--on-accent);font-size:10px;font-weight:700;line-height:16px;letter-spacing:.01em;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px color-mix(in srgb,var(--accent-b) 30%,transparent)}
.bt-ribbon:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
@media (max-width:359px){.bt-ribbon{font-size:9.5px;padding:0 8px}}

/* ─────────── the consent screen and the beta page (a view of the app) ─────────── */
.bt-page{background:var(--paper);overflow-y:auto}
.bt-lang{box-sizing:border-box;max-inline-size:640px;margin:0 auto;padding:12px 16px 0;display:flex;justify-content:flex-end;gap:6px}
.bt-lang-btn{min-block-size:40px;min-inline-size:72px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.bt-lang-btn[aria-pressed="true"]{background:var(--g-accent);color:var(--on-accent);border-color:transparent}
.bt-lang-btn:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.bt-wrap{box-sizing:border-box;max-inline-size:640px;margin:0 auto;padding:20px 16px calc(56px + env(safe-area-inset-bottom));display:grid;gap:18px;outline:none}
.bt-brand{margin:0;font-weight:700;font-size:15px;color:var(--gold-text);unicode-bidi:isolate}
.bt-head{display:grid;gap:8px}
.bt-head h1{margin:0;font-size:clamp(24px,6vw,32px);line-height:1.25;color:var(--ink)}
.bt-lead{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.7}
.bt-plan{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:6px 14px;border-radius:999px;background:var(--g-accent);color:var(--on-accent);font-weight:700;font-size:14px}
.bt-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:16px 18px;display:grid;gap:10px}
.bt-card h2{margin:0;font-size:17px;color:var(--ink)}
.bt-list{margin:0;padding-inline-start:20px;display:grid;gap:10px;color:var(--ink);line-height:1.75;font-size:15px}
.bt-check{display:flex;align-items:flex-start;gap:12px;min-block-size:44px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;color:var(--ink);line-height:1.7;font-size:15px}
.bt-check input{flex:none;inline-size:22px;block-size:22px;margin:2px 0 0;accent-color:var(--accent-c)}
.bt-check input:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.bt-hint{margin:0;color:var(--muted);font-size:13px}
.bt-hint[hidden]{display:none}
.bt-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:48px;padding:0 24px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}
.bt-btn:disabled{opacity:.5;cursor:not-allowed}
.bt-btn:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
.bt-primary{background:var(--g-accent);color:var(--on-accent);border-color:transparent}
.bt-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font-size:14px}
.bt-links a{color:var(--gold-text);font-weight:600;text-underline-offset:3px}
.bt-live{min-block-size:1.4em;margin:0;font-size:14px;color:var(--ink-soft)}
.bt-live[data-tone="error"]{color:var(--danger)}
.bt-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:15px}
.bt-dl dt{color:var(--ink-soft)}
.bt-dl dd{margin:0;color:var(--ink);font-weight:600;text-align:end}
.bt-switch{display:flex;align-items:center;gap:12px;min-block-size:48px;cursor:pointer;color:var(--ink);font-size:15px;line-height:1.6}
.bt-switch input{flex:none;inline-size:22px;block-size:22px;accent-color:var(--accent-c)}
.bt-switch input:focus-visible{outline:2px solid var(--accent-c);outline-offset:2px}
@media (min-width:640px){.bt-wrap{padding-block-start:44px}.bt-card{padding:20px 24px}}
@media (max-width:359px){.bt-lang{padding-inline:12px}.bt-wrap{padding-inline:12px}.bt-btn{inline-size:100%}.bt-dl{grid-template-columns:1fr}.bt-dl dd{text-align:start}}
