:root {
    --purple-dark: #17002e;
    --purple-main: #3b0a68;
    --purple-soft: #6d28d9;
    --gold: #f5c542;
    --white: #ffffff;
    --muted: #cfc3df;
    --card: rgba(255, 255, 255, 0.09);
    --border: rgba(255, 255, 255, 0.16);
    --danger: #ef4444;
    --success: #22c55e;
    --classic-card-max: 680px;
    --classic-card-min: 320px;
    --classic-card-ratio: 1.72 / 1;
    --radius-sm: 12px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --font-main: 'Cairo', Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-main);
    background: #140024;
    color: var(--white);
    min-height: 100vh;
}

button, input, select, textarea { font-family: var(--font-main); }

a { color: inherit; text-decoration: none; }

.container {
    width: min(1050px, 92%);
    margin: auto;
    padding: 24px 0;
}

/* Navbar */
.navbar {
    width: min(1050px, 92%);
    margin: 14px auto;
    padding: 10px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(14px);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo { font-size: 23px; font-weight: 900; color: var(--gold); }
.brand-logo { display:flex; align-items:center; gap:8px; width:auto; height:54px; color:var(--gold); }
.brand-logo img { display:block; width:45px; height:45px; }
.brand-logo span { font-size:24px; font-weight:900; line-height:1; }

.navbar nav { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.navbar nav a { color: var(--muted); font-weight: 700; font-size: 14px; }

.user-pill {
    background: rgba(245,197,66,0.14);
    color: var(--gold);
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
}

/* Buttons */
.btn {
    display: inline-block;
    border: 0;
    cursor: pointer;
    background: linear-gradient(135deg, var(--gold), #ffdf7e);
    color: #241100;
    padding: 11px 22px;
    border-radius: var(--radius-sm);
    font-weight: 800;
    font-size: 15px;
    margin: 6px;
    transition: 0.2s;
}
.btn:hover { transform: translateY(-2px); }
.btn.outline { background: transparent; color: var(--white); border: 1px solid var(--border); }
.btn.secondary { background: rgba(255,255,255,0.12); color: var(--white); }
.btn.danger { background: var(--danger); color: white; }
.btn.small { padding: 8px 13px; border-radius: 12px; }
.btn.full { width: 100%; margin: 10px 0 0; }
.start-btn { padding: 16px 36px; font-size: 20px; border-radius: var(--radius-md); width: auto; display: block; margin: 36px auto 0; min-width: 240px; text-align: center; }

/* Shared Cards */
.hero-card,
.feature-card,
.category-card,
.form-card,
.question-box,
.score-card,
.team-box {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 28px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.28);
    backdrop-filter: blur(12px);
}

/* Home */
.hero { min-height: 70vh; display: grid; grid-template-columns: 1.4fr 0.8fr; align-items: center; gap: 28px; }
.hero-content h1 { font-size: clamp(36px, 6vw, 72px); line-height: 1.15; margin: 18px 0; }
.hero-content h1 span { color: var(--gold); }
.hero-content p { color: var(--muted); font-size: 20px; line-height: 1.9; }
.badge { display: inline-block; background: rgba(245,197,66,0.16); color: var(--gold); border: 1px solid rgba(245,197,66,0.35); padding: 9px 14px; border-radius: 999px; font-weight: 800; }
.hero-card { padding: 30px; }
.hero-card li { margin: 16px 0; color: var(--muted); font-size: 18px; }
.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { padding: 24px; }
.feature-card p { color: var(--muted); line-height: 1.8; }

/* Page Titles */
.page-head,
.auth-box { text-align: center; max-width: 480px; margin: 20px auto 30px; }
.page-head h1,
.auth-box h1 { font-size: 28px; margin-bottom: 8px; }
.page-head p,
.auth-box p { color: var(--muted); font-size: 16px; opacity: 0.8; }

.email-verify-box { max-width: 500px; }
.email-verify-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(201, 162, 39, .13);
    border: 1px solid rgba(201, 162, 39, .35);
    color: var(--gold);
    font-size: 26px;
}
.masked-email {
    direction: ltr;
    display: inline-block;
    margin: 4px 0 18px;
    color: var(--text);
}
.verify-code-form input[name="code"] {
    direction: ltr;
    text-align: center;
    letter-spacing: 10px;
    font-size: 25px;
    font-weight: 800;
}
.verify-resend-form { margin-top: 14px; }
.link-button {
    border: 0;
    padding: 6px;
    background: transparent;
    color: var(--gold);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.link-button:hover { text-decoration: underline; }
.email-verify-box .verify-help { margin-top: 8px; font-size: 13px; }

/* Forms */
.form-card { padding: 24px; text-align: right; }
form.form-card.admin-form { background: transparent; border: none; box-shadow: none; backdrop-filter: none; }
.admin-form { margin: 30px 0; }
.form-card label,
.admin-form label,
.modal-box label { display: block; margin: 12px 0 6px; font-size: 15px; font-weight: 700; }
.form-card input,
.form-card select,
.form-card input[type="file"],
.modal-box input,
.modal-box select,
.modal-box input[type="file"] { width: 100%; padding: 12px 14px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: rgba(255,255,255,0.1); color: white; margin-bottom: 12px; outline: none; font-size: 15px; transition: border-color .15s; }
.form-card input:focus,
.form-card select:focus,
.modal-box input:focus,
.modal-box select:focus { border-color: var(--gold); }
.form-card input::placeholder { color: #a897bd; }
.form-card option,
.modal-box option { color: #111; }

/* Alerts */
.alert,
.success { padding: 14px; border-radius: 16px; margin: 15px 0; font-weight: 800; }
.alert { background: rgba(239,68,68,0.18); border: 1px solid rgba(239,68,68,0.35); }
.success { background: rgba(34,197,94,0.18); border: 1px solid rgba(34,197,94,0.35); }
.auth-link a { color: var(--gold); font-weight: 900; }

/* Teams */
.teams-container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; }
.team-box { border-radius: 24px; padding: 20px; min-width: 0; }
.team-box h3 { color: var(--gold); margin-bottom: 10px; font-size: 20px; }
.team-box input { width: 100%; padding: 12px; border-radius: 12px; border: 1px solid var(--border); background: rgba(255,255,255,0.1); color: white; margin-bottom: 12px; }

/* Member add row */
.member-input-row { display: flex; gap: 8px; margin-bottom: 10px; }
.member-input-row .member-input { flex: 1; margin-bottom: 0; }
.member-add-btn { padding: 10px 18px; border-radius: 12px; border: none; background: var(--purple-soft); color: white; font-size: 14px; cursor: pointer; white-space: nowrap; transition: background .2s; }
.member-add-btn:hover { background: #7c3aed; }

/* Members list box */
.members-list { min-height: 44px; background: rgba(255,255,255,0.06); border: 1px solid var(--border); border-radius: 14px; padding: 8px 10px; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.members-list:empty::before { content: 'لا يوجد أعضاء بعد'; color: var(--muted); font-size: 13px; line-height: 28px; }
.member-tag { display: inline-flex; align-items: center; gap: 6px; background: rgba(109,40,217,0.35); border: 1px solid rgba(109,40,217,0.5); border-radius: 20px; padding: 4px 12px; font-size: 14px; }
.member-remove { background: none; border: none; color: var(--muted); font-size: 16px; cursor: pointer; padding: 0; line-height: 1; transition: color .15s; }
.member-remove:hover { color: var(--danger); }

/* Category Selection */
.category-section { position: relative; margin: 30px auto; padding: 32px 24px 24px; border-radius: var(--radius-lg); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); box-shadow: none; min-width: 0; }
.section-header { position: absolute; top: -22px; left: 50%; transform: translateX(-50%); width: min(260px, 70%); display: flex; align-items: center; justify-content: center; }
.section-header h2 { width: 100%; text-align: center; background: linear-gradient(135deg, var(--gold), #ffb23f); color: #241100; padding: 10px 22px; border-radius: 999px; margin: 0; font-size: 19px; font-weight: 900; }
.toggle-section { position: absolute; left: 20px; top: 20px; width: 42px; height: 42px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.18); color: white; font-size: 25px; font-weight: 900; cursor: pointer; transition: 0.2s; z-index: 2; }
.toggle-section:hover { background: var(--gold); color: #241100; transform: scale(1.05); }
.section-content { margin-top: 20px; }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.category-grid > * { min-width: 0; }
.category-card.compact-category { width: 100%; min-width: 0; height: auto; min-height: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; border-radius: 22px; background: linear-gradient(145deg, #2a1a3f, #210c37); border: 1px solid rgba(255,255,255,0.11); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; cursor: pointer; }
.category-card-media { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: radial-gradient(circle at 50% 35%, rgba(168,85,247,.28), transparent 58%), linear-gradient(145deg, #2d1746, #160822); }
.category-card-media::after { content: ""; position: absolute; inset: auto 0 0; height: 28%; pointer-events: none; background: linear-gradient(to top, rgba(19,7,31,.48), transparent); }
.category-card-img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; margin: 0; transition: transform .35s ease, filter .35s ease; }
.category-card-placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(245,197,66,.62); }
.category-card-placeholder svg { width: 34%; max-width: 88px; filter: drop-shadow(0 8px 18px rgba(0,0,0,.3)); }
.compact-category h3 { height: 58px; min-height: 58px; margin: 0; padding: 0 12px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(42,26,63,.98), rgba(31,11,51,.98)); border-top: 1px solid rgba(255,255,255,.08); color: #f5efff; font-size: 17px; line-height: 1.35; font-weight: 900; text-align: center; }
.compact-category > span:not(.category-card-media):not(.category-access-lock),
.category-icon { display: none; }
.checkbox-card { cursor: pointer; position: relative; }
.checkbox-card input { display: none; }
.category-card.compact-category:hover { transform: translateY(-6px); border-color: rgba(245,197,66,.45); box-shadow: 0 18px 34px rgba(9,2,17,.42), 0 0 22px rgba(168,85,247,.42); }
.category-card.compact-category:hover .category-card-img { transform: scale(1.035); filter: saturate(1.06) brightness(1.03); }
.checkbox-card:has(input:checked) { outline: 2px solid #a855f7; border-color: var(--gold); background: rgba(245,197,66,0.10); box-shadow: 0 0 25px rgba(168,85,247,1); transform: translateY(-4px); }
.checkbox-card:has(input:checked)::after { content: "مختار"; position: absolute; right: 10px; bottom: 68px; z-index: 4; background: var(--gold); color: #241100; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 900; box-shadow: 0 5px 14px rgba(0,0,0,.28); }

/* Game Page */
.game-scorebar { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; }
.game-board { display: grid; grid-template-columns: 0.8fr 1.4fr 0.8fr; gap: 20px; align-items: stretch; }
.point-box { background: var(--card); border: 1px solid var(--border); border-radius: 18px; padding: 18px; text-align: center; font-weight: 900; color: var(--white); transition: 0.2s; min-height: 64px; display: flex; align-items: center; justify-content: center; }
.point-box:hover { transform: translateY(-3px); border-color: var(--gold); }
.point-box.disabled { opacity: 0.35; pointer-events: none; }
.score-card,
.question-box { padding: 28px; text-align: center; }
.score-card div { font-size: 64px; font-weight: 900; color: var(--gold); margin: 20px 0; }
.score-card button { border: 0; padding: 12px 18px; border-radius: 14px; font-weight: 900; cursor: pointer; }
.question-box h1 { font-size: 34px; line-height: 1.6; }
.points { color: var(--gold); font-weight: 900; }
.answer-box { display: none; margin: 22px auto; padding: 20px; background: rgba(245,197,66,0.14); color: var(--gold); border: 1px solid rgba(245,197,66,0.35); border-radius: 20px; font-size: 24px; font-weight: 900; }
.classic-board-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--classic-card-min)), 1fr)); gap: 18px; align-items: start; justify-items: center; }
.classic-category-panel { width: min(100%, var(--classic-card-max)); border-radius: 28px; }
.classic-category-shell { width: 100%; aspect-ratio: var(--classic-card-ratio); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; align-items: stretch; background: rgba(255,255,255,0.08); border: 1px solid var(--border); border-radius: 28px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,0.22); }
.classic-point-stack { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 0; background: rgba(0,0,0,0.12); }
.classic-side-point { min-height: 0; height: 100%; border-radius: 0; border: 0; border-top: 1px solid rgba(255,255,255,0.04); border-bottom: 1px solid rgba(0,0,0,0.18); background: rgba(74,74,74,0.94); font-size: clamp(22px, 2.1vw, 38px); }
.classic-side-point:hover { background: rgba(92,92,92,0.98); border-color: transparent; transform: none; }
.classic-side-point.disabled { opacity: 0.35; background: rgba(74,74,74,0.8); }
.classic-point-stack:first-child > .classic-side-point:first-child { border-top-left-radius: 999px; }
.classic-point-stack:first-child > .classic-side-point:last-child { border-bottom-left-radius: 999px; }
.classic-point-stack:last-child > .classic-side-point:first-child { border-top-right-radius: 999px; }
.classic-point-stack:last-child > .classic-side-point:last-child { border-bottom-right-radius: 999px; }
.classic-center-card { display: grid; grid-template-rows: 1fr auto; background: linear-gradient(180deg, rgba(198,220,244,0.95), rgba(181,205,232,0.95)); min-width: 0; }
.classic-category-img { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; }
.classic-category-fallback { background: linear-gradient(180deg, rgba(214,228,245,0.96), rgba(188,208,230,0.96)); }
.classic-category-title { min-height: clamp(42px, 14%, 56px); display: flex; align-items: center; justify-content: center; padding: 12px 10px; font-size: clamp(13px, 1.1vw, 20px); font-weight: 900; color: #fff; background: #ff7448; text-align: center; line-height: 1.4; }
.classic-question-box { width: min(820px, 100%); margin: 0 auto; }
.question-team-label { color: var(--muted); font-size: 18px; margin: 14px 0 22px; }
.classic-question-image { width: min(100%, 420px); border-radius: 20px; display: block; margin: 0 auto 24px; border: 1px solid rgba(255,255,255,0.14); }
.classic-answer-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.online-question-image { max-height: 340px; object-fit: cover; }
.classic-settings-panel { margin: 0 auto 32px; padding: 24px; border-radius: 22px; background: rgba(42, 24, 56, .58); border: 1px solid rgba(255,255,255,.10); text-align: center; min-width: 0; }
.classic-settings-panel h3 { margin: 0 0 8px; color: #fff; font-size: 22px; }
.classic-duration-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.classic-duration-option { display: block; margin: 0; position: relative; min-width: 0; }
.classic-duration-option input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; }
.classic-duration-option span { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; font-weight: 900; cursor: pointer; transition: .2s ease; }
.classic-duration-option input:checked + span { background: linear-gradient(135deg, #f5c542, #ffdf7e); color: #1b1025; border-color: transparent; box-shadow: 0 10px 24px rgba(245,197,66,.28); }
.classic-answer-reveal { min-width: 220px; margin: 0 auto 18px; }
.classic-answer-box { display: none; margin-bottom: 22px; font-size: 22px; font-weight: 900; }
.classic-answer-form { width: min(680px, 100%); margin: 0 auto; }
.classic-award-team { margin: 0 0 16px; text-align: center; }
.classic-award-label { display: block; color: rgba(255,255,255,.88); font-weight: 900; margin-bottom: 10px; }
.classic-award-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.classic-award-option { display: block; margin: 0; position: relative; }
.classic-award-option input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; }
.classic-award-option span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; font-weight: 900; cursor: pointer; transition: .2s ease; }
.classic-award-option input:checked + span { background: linear-gradient(135deg, #f5c542, #ffdf7e); color: #1b1025; border-color: transparent; box-shadow: 0 10px 24px rgba(245,197,66,.28); }
.classic-judge-row { grid-template-columns: 1fr 1fr; }
.classic-judge-row .btn { width: 100%; margin: 0; }
.classic-result-page { display: flex; justify-content: center; }
.classic-result-wrap { width: min(880px, 100%); }
.classic-result-icon { display: inline-flex; justify-content: center; align-items: center; min-width: 110px; min-height: 42px; padding: 0 18px; margin-bottom: 14px; border-radius: 999px; background: rgba(245,197,66,0.14); color: var(--gold); font-weight: 900; }
.classic-result-summary { color: var(--muted); font-size: 18px; margin-bottom: 24px; }
.classic-result-scores { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.classic-result-score { padding: 24px; border-radius: 22px; border: 1px solid var(--border); background: rgba(255,255,255,0.05); }
.classic-result-score.is-winner { border-color: rgba(245,197,66,0.45); box-shadow: 0 0 0 2px rgba(245,197,66,0.08), 0 18px 40px rgba(0,0,0,0.22); }
.classic-result-score h2 { margin: 0 0 12px; color: var(--gold); }
.classic-result-score div { font-size: 52px; font-weight: 900; }
.classic-result-teams { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; text-align: right; margin-bottom: 24px; }
.classic-player-list { margin: 0; padding-right: 20px; line-height: 1.9; }
.classic-result-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }

/* Admin */
.table-card table { width: 100%; border-collapse: collapse; }
.table-card th,
.table-card td { padding: 16px; font-size: 18px; text-align: right; }
.actions { display: flex; gap: 12px; align-items: center; }
.edit-link { background: #22c55e; color: white; padding: 8px 16px; border-radius: 12px; border: none; font-weight: 800; cursor: pointer; }
.edit-link:hover { background: #16a34a; }
.danger-link { color: #f87171; font-weight: 900; }
.muted-text { color: var(--muted); font-size: 14px; }
.category-admin-img,
.table-card td img { width: 60px !important; height: 60px !important; object-fit: cover; border-radius: 12px; border: 1px solid rgba(255,255,255,0.2); }

/* Modal */
.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.65); z-index: 9999; align-items: center; justify-content: center; }
.modal-box { width: min(480px, 92%); background: #241136; border: 1px solid var(--border); border-radius: 24px; padding: 26px; box-shadow: 0 20px 70px rgba(0,0,0,0.35); }
.modal-box h2 { margin-top: 0; color: var(--gold); }
.modal-actions { display: flex; gap: 10px; justify-content: center; }

/* Footer */
.footer { text-align: center; color: var(--muted); padding: 25px; }

/* Responsive */
@media (max-width: 1100px) { .toggle-section { left: 16px; top: 16px; } .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .game-scorebar, .classic-result-scores, .classic-result-teams { grid-template-columns: 1fr; } }
@media (max-width: 850px) { .hero, .features, .game-board { grid-template-columns: 1fr; } .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .navbar { flex-direction: column; gap: 14px; } }
@media (max-width: 768px) { .teams-container { grid-template-columns: 1fr; } .section-header { width: min(240px, 72%); } .section-header h2 { font-size: 18px; padding: 11px 18px; } .category-section { padding: 58px 16px 18px; } .point-box { min-height: 58px; padding: 14px; } .question-box h1 { font-size: 26px; } .answer-box { font-size: 20px; } .classic-category-panel { width: min(100%, 560px); } .classic-side-point { font-size: clamp(20px, 5vw, 32px); } .classic-category-title { font-size: 14px; padding: 10px 8px; } .classic-duration-options { grid-template-columns: 1fr 1fr; } .classic-award-options { grid-template-columns: 1fr; } .classic-judge-row { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .classic-board-grid { gap: 14px; } .classic-category-panel { width: 100%; } .classic-side-point { font-size: clamp(18px, 5.8vw, 28px); } .classic-category-title { font-size: 13px; } }

@media (max-width: 480px) {
    .category-grid { gap: 11px; }
    .category-card.compact-category { border-radius: 17px; }
    .compact-category h3 { height: 52px; min-height: 52px; padding: 0 7px; font-size: 14px; }
    .checkbox-card:has(input:checked)::after { right: 7px; bottom: 59px; padding: 4px 8px; font-size: 10px; }
}

.move-btn {
    display: inline-block;
    padding: 4px 8px;
    margin: 0 3px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
}

.move-btn.up {
    background: #4CAF50;
    color: white;
}

.move-btn.down {
    background: #2196F3;
    color: white;
}
.sortable-row {
    cursor: grab;
}

.sortable-row.dragging {
    opacity: 0.45;
    background: rgba(245, 197, 66, 0.12);
}

.sortable-row td:first-child::before {
    content: "☰ ";
    color: var(--gold);
    font-weight: 900;
}
.sortable-row {
    transition: 0.2s;
}

.sortable-row:hover {
    background: rgba(255,255,255,0.05);
}
.sortable-row.dragging {
    box-shadow: 0 0 20px rgba(168,85,247,0.8);
    transform: scale(1.02);
}

/* Suggest question */
.suggest-form {
    width: min(760px, 94%);
}

.suggest-form textarea {
    resize: vertical;
    min-height: 120px;
}

.suggest-status {
    width: min(760px, 94%);
    margin: 0 auto 18px;
    padding: 14px 18px;
    border-radius: 14px;
    font-weight: 900;
    text-align: center;
}

.review-table-card td {
    vertical-align: top;
}

/* Suggest question unified form */
.suggest-form.online-question-panel {
    width: min(820px, 92%);
    margin: 22px auto 0 !important;
    padding: 32px 30px !important;
    background: rgba(42, 24, 56, .96) !important;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(0,0,0,.34);
    display: grid;
    gap: 14px;
}

.suggest-form label {
    color: #fff;
    font-size: 16px;
    font-weight: 900;
    margin: 8px 0 0;
    text-align: right;
}

.suggest-form select,
.suggest-form textarea,
.suggest-form input[type="text"] {
    width: 100%;
    min-height: 48px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.09);
    color: #fff;
    padding: 12px 14px;
    font-size: 16px;
    box-sizing: border-box;
    outline: none;
}

.suggest-form select:focus,
.suggest-form textarea:focus,
.suggest-form input[type="text"]:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(245,197,66,.14);
}

.suggest-form textarea {
    min-height: 116px;
    resize: vertical;
    line-height: 1.7;
}

.suggest-form select option {
    background: #241136;
    color: #fff;
}

.suggest-form textarea::placeholder {
    color: rgba(255,255,255,.55);
}

.suggest-submit {
    min-height: 52px;
    margin-top: 10px;
    border-radius: 14px !important;
    font-size: 16px;
}

/* Admin refresh */
.admin-stats-grid {
    width: min(1150px, 92%);
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.admin-stat-card {
    padding: 24px;
    text-align: right;
}

.admin-stat-card-alert {
    border-color: rgba(245,197,66,.35);
}

.admin-stat-label {
    display: block;
    color: var(--muted);
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 10px;
}

.admin-stat-number {
    display: block;
    color: var(--gold);
    font-size: 42px;
    font-weight: 900;
}

.admin-actions-grid {
    width: min(1150px, 92%);
    margin: 0 auto 24px;
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 18px;
    align-items: start;
}

.admin-panel-card {
    padding: 24px;
}

.admin-panel-card h2 {
    margin-top: 0;
}

.admin-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.admin-action-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-mini-list {
    display: grid;
    gap: 12px;
}

.admin-mini-item {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.admin-mini-item p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.7;
}

.admin-mini-item-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.admin-filters-card {
    width: min(1150px, 92%);
    margin: 0 auto 18px;
    padding: 22px;
}

.admin-filters-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 16px;
}

.admin-filter-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}

.admin-table-card {
    width: min(1150px, 92%);
    margin: 0 auto 24px;
}

.admin-table-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-table-actions form {
    margin: 0;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
}

.status-pending {
    background: rgba(245,197,66,.18);
    border: 1px solid rgba(245,197,66,.35);
    color: var(--gold);
}

.status-approved {
    background: rgba(34,197,94,.18);
    border: 1px solid rgba(34,197,94,.35);
    color: #7ff0a2;
}

.status-rejected {
    background: rgba(239,68,68,.18);
    border: 1px solid rgba(239,68,68,.35);
    color: #ff9d9d;
}

.admin-empty-card {
    width: min(760px, 92%);
    margin: 0 auto 24px;
    text-align: center;
}

.admin-review-grid {
    width: min(1150px, 92%);
    margin: 0 auto 24px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.admin-review-card {
    padding: 22px;
}

.admin-review-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.admin-review-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.admin-meta-label {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 6px;
}

.admin-review-block {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 12px;
}

.admin-review-block p {
    margin: 0;
    line-height: 1.8;
}

.admin-review-actions {
    margin-top: 12px;
}

.admin-review-actions textarea {
    min-height: 100px;
    resize: vertical;
}

.admin-review-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-edit-modal {
    padding: 20px;
}

.admin-edit-modal-box {
    width: min(820px, 96%);
    max-height: 92vh;
    overflow: auto;
    text-align: right;
}

.admin-edit-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.admin-edit-modal-head h2 {
    margin: 0;
}

.admin-modal-close {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
}

.admin-modal-close:hover {
    background: rgba(255,255,255,.18);
}

.admin-edit-form {
    margin-top: 10px;
}

.admin-edit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.admin-edit-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

@media (max-width: 1000px) {
    .admin-stats-grid,
    .admin-actions-grid,
    .admin-review-grid {
        grid-template-columns: 1fr;
    }

    .admin-filters-grid {
        grid-template-columns: 1fr;
    }

    .admin-review-meta {
        grid-template-columns: 1fr;
    }

    .admin-edit-grid {
        grid-template-columns: 1fr;
    }
}

/* Category View Toggle (Segmented Control) */
.cat-view-toggle {
    display: flex;
    gap: 4px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 4px;
    width: fit-content;
    margin: 8px auto 24px;
}

.cat-view-btn {
    padding: 10px 24px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: var(--muted);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all .15s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cat-view-btn.active {
    background: var(--gold);
    color: #1b1025;
}

.cat-view-btn:not(.active):hover {
    background: rgba(255,255,255,.06);
    color: var(--text);
}

.fav-count {
    background: rgba(0,0,0,.25);
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 12px;
    min-width: 20px;
    text-align: center;
}

.cat-view-btn.active .fav-count {
    background: rgba(0,0,0,.2);
}

/* Favorites empty state */
.fav-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--muted);
}

.fav-empty-icon {
    font-size: 52px;
    display: block;
    margin-bottom: 16px;
    opacity: .5;
}

.fav-empty p {
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

/* Favorite Button */
.category-card-wrap {
    position: relative;
}

.fav-btn {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(0,0,0,0.4);
    border: none;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .15s, background .15s;
    backdrop-filter: blur(4px);
}

.fav-btn:hover { transform: scale(1.2); background: rgba(0,0,0,.6); }
.fav-btn:disabled { opacity: .5; cursor: default; }

.fav-btn svg { fill: none; stroke: rgba(255,255,255,0.85); transition: fill .15s, stroke .15s; }
.fav-btn.active svg { fill: #ef4444; stroke: #ef4444; }


/* ===== زر الرجوع العائم (v16) — واضح بلا إزعاج ===== */
.back-fab {
    position: fixed;
    bottom: 22px;
    left: 22px;
    z-index: 900;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(20, 20, 38, 0.55);
    color: #fff;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0.6;
    transition: opacity 0.15s ease, transform 0.15s ease, background 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
.back-fab:hover, .back-fab:focus-visible {
    opacity: 1;
    transform: scale(1.1);
    background: #c9a227;
    color: #1a1a1a;
    border-color: #c9a227;
}
@media (max-width: 640px) {
    .back-fab { bottom: 16px; left: 16px; width: 42px; height: 42px; font-size: 1.2rem; }
}

/* ===== وضع اللعب النظيف (v40) ===== */
.gameplay-shell .container { padding-top: 10px; }
.gameplay-navbar {
    position: relative;
    z-index: 80;
    width: min(1120px, 94%);
    min-height: 64px;
    margin: 12px auto 8px;
    padding: 9px 12px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background: rgba(12,10,25,.9);
    box-shadow: 0 12px 38px rgba(0,0,0,.2);
    backdrop-filter: blur(14px);
}
.gameplay-brand { display: flex; align-items: center; gap: 8px; width: max-content; color: var(--gold); font-weight: 900; }
.gameplay-brand img { width: 30px; height: 30px; }
.gameplay-brand span { font-size: 15px; }
.gameplay-context { text-align: center; }
.gameplay-context strong, .gameplay-context small { display: block; }
.gameplay-context strong { font-size: 14px; }
.gameplay-context small { margin-top: 1px; color: var(--muted); font-size: 10px; }
.gameplay-exit-trigger {
    justify-self: end;
    padding: 8px 12px;
    border: 1px solid rgba(248,113,113,.22);
    border-radius: 10px;
    color: #fca5a5;
    background: rgba(239,68,68,.07);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}
.gameplay-exit-trigger:hover { border-color: rgba(248,113,113,.45); background: rgba(239,68,68,.13); }
.gameplay-exit-layer[hidden] { display: none; }
.gameplay-exit-layer { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(4,3,12,.78); backdrop-filter: blur(8px); }
.gameplay-exit-dialog { width: min(430px,100%); padding: 27px; text-align: center; border: 1px solid rgba(248,113,113,.26); border-radius: 22px; background: #171326; box-shadow: 0 28px 90px rgba(0,0,0,.5); }
.gameplay-exit-dialog > span { display: grid; width: 48px; height: 48px; margin: 0 auto 11px; place-items: center; border-radius: 50%; color: #19090c; background: #fca5a5; font-size: 23px; font-weight: 900; }
.gameplay-exit-dialog h2 { margin: 0 0 6px; }
.gameplay-exit-dialog p { margin: 0; color: var(--muted); line-height: 1.8; }
.gameplay-exit-dialog > div { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.gameplay-exit-dialog .danger { color: #fca5a5; border-color: rgba(248,113,113,.3); }
.gameplay-dialog-open { overflow: hidden; }
@media (max-width: 600px) {
    .gameplay-navbar { grid-template-columns: auto 1fr auto; min-height: 56px; margin-top: 7px; }
    .gameplay-brand span { display: none; }
    .gameplay-context { text-align: right; }
    .gameplay-exit-dialog > div { flex-direction: column; }
    .gameplay-exit-dialog .btn { width: 100%; }
}

/* ===== العضوية والباقات (v17) ===== */
.member-badge {
    display: inline-flex;
    align-items: center;
    margin-right: 5px;
    padding: 2px 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5c542, #d39a18);
    color: #25172c;
    font-size: 10px;
    font-weight: 900;
}

.membership-hero {
    width: min(1050px, 94%);
    margin: 22px auto 18px;
    padding: 28px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border: 1px solid rgba(245, 197, 66, .26);
    border-radius: 24px;
    background:
        radial-gradient(circle at 15% 20%, rgba(245, 197, 66, .14), transparent 38%),
        var(--card);
}

.membership-eyebrow {
    display: block;
    color: var(--gold);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 6px;
}

.membership-hero h1 { margin: 0 0 8px; }
.membership-hero p { margin: 0; color: var(--muted); }

.membership-large-badge {
    flex-shrink: 0;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f5c542, #d39a18);
    color: #25172c;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 30px rgba(245, 197, 66, .2);
}

.membership-status-grid,
.membership-plans-grid {
    width: min(1050px, 94%);
    margin: 0 auto 22px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.membership-status-card,
.membership-plan-card {
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--card);
}

.membership-status-card > span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
}

.membership-status-card strong {
    display: block;
    font-size: 21px;
    margin-bottom: 8px;
}

.membership-status-card small {
    display: block;
    color: var(--muted);
    line-height: 1.7;
}

.membership-free-categories {
    width: min(1050px, 94%);
    margin: 0 auto 30px;
}

.membership-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.membership-section-head h2,
.membership-section-title h2 { margin: 0 0 6px; }
.membership-section-head p,
.membership-section-title p { margin: 0; color: var(--muted); }

.membership-count {
    min-width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(245, 197, 66, .12);
    color: var(--gold);
    font-weight: 900;
}

.membership-empty-state {
    margin-top: 18px;
    padding: 16px;
    border: 1px dashed rgba(255,255,255,.16);
    border-radius: 16px;
    color: var(--muted);
    text-align: center;
}

.membership-category-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.membership-category-chips span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.09);
    font-size: 13px;
    font-weight: 800;
}

.membership-plans-section { margin: 0 auto 24px; }
.membership-section-title {
    width: min(1050px, 94%);
    margin: 0 auto 16px;
}

.membership-plan-card { position: relative; }
.membership-plan-card.featured {
    border-color: rgba(245, 197, 66, .55);
    box-shadow: 0 15px 45px rgba(245, 197, 66, .08);
}

.membership-plan-label {
    position: absolute;
    top: 14px;
    left: 14px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.membership-plan-card h3 { margin: 0 0 12px; }
.membership-price {
    color: var(--gold);
    font-size: 25px;
    font-weight: 900;
    margin-bottom: 16px;
}
.membership-price small { color: var(--muted); font-size: 12px; }
.membership-plan-card ul {
    min-height: 150px;
    margin: 0 0 18px;
    padding-right: 20px;
    color: var(--muted);
    line-height: 2;
}

.membership-disabled-action:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.membership-safety-note {
    width: min(1050px, 94%);
    margin: 0 auto 28px;
    padding: 13px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: var(--muted);
    font-size: 13px;
    text-align: center;
}

@media (max-width: 820px) {
    .membership-status-grid,
    .membership-plans-grid { grid-template-columns: 1fr; }
    .membership-plan-card ul { min-height: 0; }
}

@media (max-width: 560px) {
    .membership-hero { padding: 22px 18px; align-items: flex-start; }
    .membership-hero h1 { font-size: 24px; }
    .membership-large-badge { padding: 8px 11px; font-size: 11px; }
    .membership-section-head { align-items: flex-start; }
}

/* ===== إدارة تصنيفات المجاني (v18) ===== */
.membership-admin-alert,
.membership-admin-summary,
.membership-admin-form {
    width: min(1100px, 94%);
    margin-left: auto;
    margin-right: auto;
}

.membership-admin-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.membership-admin-form { margin-bottom: 100px; }

.membership-admin-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.membership-admin-toolbar p,
.membership-admin-savebar p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.membership-admin-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.membership-admin-section { margin-bottom: 16px; }
.membership-admin-section .membership-section-head { margin-bottom: 16px; }
.membership-admin-section .membership-section-head h2 { margin: 0; }

.membership-admin-category-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.membership-admin-category {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 72px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
    cursor: pointer;
    transition: border-color .15s, background .15s, transform .15s;
}

.membership-admin-category:hover {
    border-color: rgba(245,197,66,.42);
    transform: translateY(-1px);
}

.membership-admin-category input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.membership-admin-check {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: 7px;
    position: relative;
}

.membership-admin-category input:checked + .membership-admin-check {
    border-color: var(--gold);
    background: var(--gold);
}

.membership-admin-category input:checked + .membership-admin-check::after {
    content: '✓';
    position: absolute;
    inset: -2px 0 0;
    color: #25172c;
    font-weight: 900;
    text-align: center;
}

.membership-admin-category:has(input:checked) {
    border-color: rgba(245,197,66,.48);
    background: rgba(245,197,66,.08);
}

.membership-admin-category-copy { min-width: 0; }
.membership-admin-category-copy strong,
.membership-admin-category-copy small { display: block; }
.membership-admin-category-copy small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
}

.membership-admin-category.disabled {
    cursor: not-allowed;
    opacity: .42;
}
.membership-admin-category.disabled:hover { transform: none; border-color: var(--border); }

.membership-admin-savebar {
    position: sticky;
    bottom: 14px;
    z-index: 30;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(245,197,66,.3);
    border-radius: 18px;
    background: rgba(24, 19, 35, .94);
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

@media (max-width: 900px) {
    .membership-admin-summary,
    .membership-admin-category-grid { grid-template-columns: 1fr 1fr; }
}

/* ===== صفحة تعليمات لمّة ===== */
.lamma-rules-page {
    width: min(960px, 94%);
    margin: 24px auto 50px;
}

.lamma-rules-head {
    position: relative;
    overflow: hidden;
    padding: 38px 28px;
    border: 1px solid rgba(245, 197, 66, .28);
    border-radius: 26px;
    text-align: center;
    background:
        radial-gradient(circle at 15% 20%, rgba(245, 197, 66, .16), transparent 32%),
        radial-gradient(circle at 85% 80%, rgba(139, 92, 246, .15), transparent 34%),
        rgba(255, 255, 255, .035);
}

.lamma-rules-head span { color: var(--gold); font-weight: 900; }
.lamma-rules-head h1 { margin: 8px 0; font-size: clamp(2rem, 5vw, 3.2rem); }
.lamma-rules-head p { max-width: 650px; margin: 0 auto; color: var(--muted); line-height: 1.8; }

.lamma-rules-flow { display: grid; gap: 12px; margin: 22px 0; }
.lamma-rules-flow article {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 17px 19px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 18px;
    background: rgba(255, 255, 255, .035);
}
.lamma-rules-flow article > strong {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #17120a;
    background: linear-gradient(135deg, #f5c542, #e5a820);
    box-shadow: 0 8px 25px rgba(245, 197, 66, .18);
}
.lamma-rules-flow h2 { margin: 0 0 3px; font-size: 1.05rem; }
.lamma-rules-flow p { margin: 0; color: var(--muted); line-height: 1.7; }

.lamma-mode-rules,
.lamma-rules-example {
    margin: 18px 0;
    padding: 23px;
    border: 1px solid rgba(139, 92, 246, .26);
    border-radius: 22px;
    background: rgba(139, 92, 246, .07);
}
.lamma-mode-rules h2 { margin-top: 0; }
.lamma-mode-rules ul { margin: 0; padding-right: 22px; color: var(--muted); line-height: 2; }
.lamma-mode-rules li::marker { color: var(--gold); }

.lamma-rules-example { text-align: center; border-color: rgba(245, 197, 66, .25); background: rgba(245, 197, 66, .055); }
.lamma-example-card { display: grid; gap: 4px; margin-bottom: 14px; }
.lamma-example-card small { color: var(--muted); }
.lamma-example-card strong { font-size: 1.35rem; }
.lamma-example-points { display: flex; justify-content: center; gap: 10px; }
.lamma-example-points span { min-width: 85px; padding: 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; font-size: 1.15rem; font-weight: 900; }
.lamma-example-points span.active { color: #17120a; border-color: transparent; background: var(--gold); }
.lamma-example-points small { display: block; margin-top: 2px; font-size: .72rem; font-weight: 700; opacity: .72; }
.lamma-rules-example p { margin: 16px 0 0; color: var(--muted); }
.lamma-rules-actions { display: flex; justify-content: center; gap: 10px; margin-top: 22px; }

@media (max-width: 650px) {
    .lamma-rules-head { padding: 30px 18px; }
    .lamma-rules-flow article { align-items: flex-start; padding: 15px; }
    .lamma-example-points span { min-width: 0; flex: 1; }
    .lamma-rules-actions { flex-direction: column; }
    .lamma-rules-actions .btn { width: 100%; }
}

/* ===== مكتبة ألعاب مُلِم وصفحات الدخول (v24) ===== */
.platform-hero { position:relative; isolation:isolate; width:min(820px,94%); margin:30px auto 24px; padding:52px 90px 38px; text-align:center; overflow:hidden; border:1px solid rgba(196,181,253,.12); border-radius:32px; background:rgba(255,255,255,.012); }
.platform-meme-layer { position:absolute; z-index:0; inset:10px 10px 10px auto; width:40%; overflow:hidden; border-radius:25px; opacity:.42; transform:rotate(1.5deg); pointer-events:none; -webkit-mask-image:linear-gradient(to left,#000 32%,transparent 100%); mask-image:linear-gradient(to left,#000 32%,transparent 100%); }
.platform-meme-layer video { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.9) contrast(1.08); }
.platform-hero-glow { position:absolute; z-index:1; inset:0; background:radial-gradient(circle at 50% 45%,rgba(124,58,237,.28),rgba(17,8,31,.18) 50%,transparent 72%); pointer-events:none; }
.platform-hero>*:not(.platform-hero-glow):not(.platform-meme-layer) { position:relative; z-index:2; }
.platform-hero h1 { margin:13px 0 8px; line-height:1.25; }
.platform-hero h1 small { display:block; font-size:clamp(22px,3.5vw,34px); font-weight:900; }
.platform-hero h1 .platform-brand { display:block; color:var(--gold); font-size:clamp(58px,9vw,92px); line-height:1.1; text-shadow:0 0 42px rgba(245,197,66,.32); }
.platform-hero p { color:var(--muted); font-size:16px; margin:0; }
.platform-game-icon { position:absolute!important; z-index:2; width:54px; height:54px; display:grid; place-items:center; border:1px solid; border-radius:18px; backdrop-filter:blur(10px); animation:platformIconFloat 5s ease-in-out infinite; }
.platform-game-icon svg { width:27px; height:27px; }
.platform-icon-quiz { top:22%; right:3%; color:var(--gold); border-color:rgba(245,197,66,.4); background:rgba(245,197,66,.09); transform:rotate(7deg); }
.platform-icon-clue { top:52%; left:3%; color:#f472b6; border-color:rgba(244,114,182,.4); background:rgba(244,114,182,.09); animation-delay:1.5s; transform:rotate(-7deg); }
.platform-icon-teams { top:15%; left:14%; color:#c4b5fd; border-color:rgba(196,181,253,.4); background:rgba(139,92,246,.12); animation-delay:3s; transform:rotate(5deg); }
@keyframes platformIconFloat { 0%,100%{translate:0 0} 50%{translate:0 -10px} }
@media(prefers-reduced-motion:reduce){.platform-meme-layer{display:none}}
.game-library { width:min(980px,94%); margin:0 auto 30px; }
.game-library-head { display:flex; justify-content:space-between; align-items:end; gap:15px; margin-bottom:15px; }
.game-library-head span { color:var(--gold); font-size:12px; font-weight:900; }
.game-library-head h2 { margin:3px 0 0; font-size:25px; }
.game-library-head small { color:var(--muted); }
.game-library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.game-product-card { position:relative; padding:28px; border:1px solid var(--border); border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); overflow:hidden; }
.game-product-card::after { content:""; position:absolute; width:190px; height:190px; border-radius:50%; left:-80px; bottom:-100px; opacity:.14; background:currentColor; filter:blur(30px); pointer-events:none; }
.game-product-card.lamma-product { color:var(--gold); border-color:rgba(245,197,66,.3); }
.game-product-card.lamha-product { color:#f472b6; border-color:rgba(244,114,182,.32); }
.game-product-card.village-product { color:#818cf8; border-color:rgba(129,140,248,.34); }
.game-product-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.game-product-number { font-size:12px; font-weight:900; opacity:.75; }
.game-product-status { padding:5px 9px; border-radius:999px; font-size:11px; font-weight:900; background:rgba(245,197,66,.1); }
.game-product-status.plus { background:rgba(244,114,182,.12); }
.game-product-icon { width:72px; height:72px; display:grid; place-items:center; margin:22px 0 13px; padding:11px; border-radius:22px; background:currentColor; color:#21172c; transform:rotate(-4deg); box-shadow:0 13px 34px rgba(0,0,0,.2); }
.game-product-icon svg { width:100%; height:100%; overflow:visible; stroke:#21172c; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.lamma-thumb { background:linear-gradient(145deg,#ffe58b,var(--gold)); }
.lamha-thumb { background:linear-gradient(145deg,#f9a8d4,#c084fc); transform:rotate(4deg); }
.lamha-thumb svg { stroke:#321336; stroke-width:2.8; }
.village-thumb { color:#e9d997; background:linear-gradient(145deg,#ffeaa7,#7c83ff); transform:rotate(-2deg); }
.village-thumb svg { stroke:#171b3e; stroke-width:2.6; }
.game-product-card h2 { color:var(--text); margin:0 0 6px; font-size:32px; }
.game-product-card p { min-height:54px; color:var(--muted); line-height:1.8; margin:0; }
.game-product-tags { display:flex; flex-wrap:wrap; gap:6px; margin:17px 0; }
.game-product-tags span { padding:5px 9px; border:1px solid var(--border); border-radius:999px; color:var(--muted); font-size:11px; }
.game-product-card .btn { position:relative; z-index:1; }
.lamha-product .btn { background:linear-gradient(135deg,#db2777,#9333ea); }
.village-product .btn { color:#fff; background:linear-gradient(135deg,#5865e8,#713fbb); }
.platform-guest-card { width:min(980px,94%); margin:18px auto; padding:22px 25px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--border); border-radius:20px; background:var(--card); }
.platform-guest-card h2,.platform-guest-card p { margin:0; }
.platform-guest-card p { color:var(--muted); margin-top:4px; }
.platform-guest-card>div:last-child { display:flex; gap:8px; }
.platform-features { width:min(980px,94%); margin:20px auto 55px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.platform-features article { display:flex; align-items:flex-start; gap:12px; padding:17px; border-radius:17px; background:rgba(255,255,255,.025); border:1px solid var(--border); }
.platform-features strong { color:var(--gold); font-size:12px; }
.platform-features h3,.platform-features p { margin:0; }
.platform-features h3 { font-size:15px; }
.platform-features p { color:var(--muted); font-size:12px; margin-top:4px; line-height:1.6; }
.game-entry-hero { position:relative; width:min(760px,94%); margin:32px auto 15px; text-align:center; padding:32px 80px; overflow:hidden; border:1px solid rgba(245,197,66,.2); border-radius:28px; background:radial-gradient(circle at 50% 35%,rgba(245,197,66,.13),transparent 58%),rgba(255,255,255,.018); }
.game-entry-brand { display:inline-flex; color:var(--muted); font-size:12px; font-weight:800; text-decoration:none; }
.game-entry-brand:hover { color:var(--gold); }
.game-entry-mark { width:64px; height:64px; margin:15px auto 8px; display:grid; place-items:center; border-radius:20px; color:#21172c; background:var(--gold); transform:rotate(-4deg); }
.game-entry-mark svg { width:34px; height:34px; }
.game-entry-orbit { position:absolute; width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(245,197,66,.28); border-radius:15px; color:var(--gold); background:rgba(245,197,66,.07); animation:platformIconFloat 5s ease-in-out infinite; }
.game-entry-orbit svg { width:24px; height:24px; }
.game-entry-orbit.orbit-one { right:8%; top:24%; transform:rotate(7deg); }
.game-entry-orbit.orbit-two { left:8%; top:54%; color:#c4b5fd; border-color:rgba(196,181,253,.28); background:rgba(139,92,246,.09); animation-delay:1.7s; transform:rotate(-7deg); }
.game-entry-hero h1 { font-size:clamp(38px,6vw,58px); margin:4px 0; color:var(--gold); }
.game-entry-hero p { margin:0; color:var(--muted); }
.game-entry-hero.lamma-entry { min-height:330px; padding:28px 38px 34px; border-color:rgba(245,197,66,.27); background:radial-gradient(circle at 50% 38%,rgba(245,197,66,.15),transparent 42%),linear-gradient(155deg,#1b1224,#0b0711); box-shadow:0 24px 70px rgba(0,0,0,.24); }
.lamma-entry:before { content:""; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(245,197,66,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(245,197,66,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,black,transparent 78%); }
.lamma-entry>* { position:relative; z-index:1; }
.lamma-hero-scene { width:min(460px,94%); height:112px; margin:17px auto 8px; display:flex; align-items:center; justify-content:center; gap:8px; }
.lamma-scene-score { width:58px; height:72px; display:grid; place-items:center; border:1px solid rgba(245,197,66,.34); border-radius:15px; color:var(--gold); background:linear-gradient(160deg,rgba(245,197,66,.15),rgba(245,197,66,.035)); font-size:15px; font-weight:900; box-shadow:0 13px 25px rgba(0,0,0,.18); }
.lamma-scene-score.score-one { transform:rotate(-7deg) translateY(6px); }
.lamma-scene-score.score-two { transform:rotate(-2deg) translateY(-5px); }
.lamma-scene-score.score-three { transform:rotate(6deg) translateY(4px); }
.lamma-scene-question { width:76px; height:90px; display:grid; place-items:center; border:2px solid var(--gold); border-radius:20px; color:#241426; background:linear-gradient(145deg,#ffe186,#dcae29); font-size:43px; font-weight:1000; box-shadow:0 0 38px rgba(245,197,66,.22); transform:translateY(-4px); }
.lamma-scene-team { position:absolute; bottom:4px; display:flex; gap:7px; align-items:center; padding:6px 10px; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:#cdbfd3; background:rgba(13,7,16,.88); font-size:10px; font-weight:800; }
.lamma-scene-team b { color:var(--gold); font-size:11px; }
.lamma-scene-team.team-one { right:6px; }
.lamma-scene-team.team-two { left:6px; }
.lamma-entry h1 { font-size:clamp(46px,7vw,68px); line-height:1; text-shadow:0 0 35px rgba(245,197,66,.2); }
.game-room-join { position:relative; width:min(820px,94%); margin:0 auto 16px; padding:17px 18px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; border:1px solid rgba(139,92,246,.36); background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(245,197,66,.045)); border-radius:20px; box-shadow:0 16px 45px rgba(0,0,0,.16); }
.game-room-join-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:#c4b5fd; background:rgba(139,92,246,.16); border:1px solid rgba(196,181,253,.25); }
.game-room-join-icon svg { width:24px; height:24px; }
.game-room-join strong,.game-room-join small { display:block; }
.game-room-join small { color:var(--muted); margin-top:2px; }
.game-room-join form { display:flex; gap:7px; }
.game-room-join input { width:180px; margin:0; text-align:center; text-transform:uppercase; letter-spacing:5px; font-weight:900; font-size:18px; border-color:rgba(196,181,253,.3); background:rgba(10,3,20,.42); }
.game-room-join .btn { margin:0; }
.game-room-join .join-room-error { grid-column:1/-1; margin:0; color:var(--danger); }
.game-room-join.lamha-room-join { border-color:rgba(244,114,182,.38); background:linear-gradient(135deg,rgba(244,114,182,.13),rgba(139,92,246,.07)); }
.lamha-room-join .game-room-join-icon { color:#f9a8d4; background:rgba(244,114,182,.13); border-color:rgba(244,114,182,.28); }
.lamha-room-join input { border-color:rgba(244,114,182,.3); }
.lamha-room-join .btn { color:#fff; background:linear-gradient(135deg,#db2777,#9333ea); }
.game-room-join.village-room-join { border-color:rgba(129,140,248,.38); background:linear-gradient(135deg,rgba(101,116,255,.13),rgba(255,227,154,.045)); }
.village-room-join .game-room-join-icon { color:#aeb7ff; background:rgba(101,116,255,.14); border-color:rgba(174,183,255,.28); }
.village-room-join input { border-color:rgba(129,140,248,.3); }
.village-room-join .btn { color:#fff; background:linear-gradient(135deg,#5865e8,#713fbb); }
.game-mode-picker { width:min(820px,94%); margin:0 auto 45px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.game-mode-picker article { padding:25px; border:1px solid rgba(245,197,66,.25); border-radius:22px; background:var(--card); }
.game-mode-picker article.online { border-color:rgba(139,92,246,.35); }
.game-mode-icon { width:48px; height:48px; display:grid!important; place-items:center; margin-bottom:13px; border-radius:15px; color:var(--gold)!important; background:rgba(245,197,66,.1); border:1px solid rgba(245,197,66,.24); }
.game-mode-picker article.online .game-mode-icon { color:#c4b5fd!important; background:rgba(139,92,246,.12); border-color:rgba(196,181,253,.24); }
.game-mode-icon svg { width:25px; height:25px; }
.game-mode-picker article>span { color:var(--gold); font-size:11px; font-weight:900; }
.game-mode-picker article.online>span { color:#c4b5fd; }
.game-mode-picker h2 { margin:5px 0; font-size:25px; }
.game-mode-picker p { color:var(--muted); line-height:1.7; min-height:52px; }
.game-mode-picker ul { padding:0 18px 0 0; color:var(--muted); font-size:13px; line-height:1.9; }
.game-mode-picker .btn { margin-top:12px; }
.lamma-how { width:min(820px,94%); margin:-24px auto 45px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.lamma-how>h2 { grid-column:1/-1; margin:0 0 4px; text-align:center; font-size:24px; }
.lamma-how article { padding:18px; border:1px solid rgba(245,197,66,.2); border-radius:17px; background:linear-gradient(145deg,rgba(245,197,66,.07),rgba(255,255,255,.025)); }
.lamma-how strong { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; color:#21172c; background:var(--gold); }
.lamma-how h3 { margin:12px 0 5px; font-size:15px; }
.lamma-how p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.admin-game-hub { width:min(1150px,94%); margin:0 auto 17px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.admin-game-card { padding:22px; border:1px solid var(--border); border-radius:21px; background:var(--card); }
.admin-game-card.lamma { border-color:rgba(245,197,66,.3); }
.admin-game-card.lamha { border-color:rgba(244,114,182,.32); }
.admin-game-card.village { border-color:rgba(129,140,248,.34); }
.admin-game-card header { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.admin-game-card header span { color:var(--muted); font-size:10px; font-weight:900; }
.admin-game-card h2 { margin:2px 0 0; font-size:26px; }
.admin-game-card header>strong { color:var(--gold); font-size:13px; }
.admin-game-card.lamha header>strong { color:#f472b6; }
.admin-game-card.village header>strong { color:#818cf8; }
.admin-game-card p { color:var(--muted); min-height:42px; line-height:1.7; }
.admin-game-mini-stats { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 14px; }
.admin-game-mini-stats span { padding:7px 10px; border:1px solid var(--border); border-radius:10px; color:var(--muted); font-size:11px; background:rgba(255,255,255,.03); }
.admin-game-mini-stats strong { color:var(--gold); font-size:14px; margin-left:3px; }
.admin-game-mini-stats .pending { border-color:rgba(239,68,68,.24); }
.admin-game-mini-stats .pending strong { color:#fca5a5; }
.admin-panel-kicker { color:var(--gold); font-size:10px; font-weight:900; }
.admin-panel-kicker+h2 { margin-top:2px; }
.admin-game-links { display:flex; flex-wrap:wrap; gap:7px; }
.admin-game-links .btn { font-size:12px; padding:8px 11px; }
.admin-main-head { max-width:650px; }
.admin-dashboard-switcher { width:min(720px,94%); margin:-10px auto 22px; display:flex; justify-content:center; gap:7px; padding:7px; border:1px solid var(--border); border-radius:15px; background:rgba(255,255,255,.035); }
.admin-dashboard-switcher a { flex:1; padding:9px 13px; border-radius:10px; color:var(--muted); text-align:center; font-size:12px; font-weight:900; }
.admin-dashboard-switcher a.active { color:#241100; background:linear-gradient(135deg,var(--gold),#ffdf7e); }
.admin-dashboard-switcher a.active.lamha { color:#fff; background:linear-gradient(135deg,#db2777,#9333ea); }
.admin-dashboard-switcher a.active.village { color:#fff; background:linear-gradient(135deg,#5865e8,#713fbb); }
.village-dashboard-stats .admin-stat-number,.village-admin-head h1 { color:#818cf8; }
.admin-game-portals .admin-game-card { display:flex; flex-direction:column; }
.admin-game-portals .admin-game-card p { flex:1; }
.admin-platform-tools,.admin-game-workspace { width:min(1150px,92%); margin:0 auto 24px; }
.admin-platform-tools>.form-card,.admin-game-workspace>.form-card { width:100%; margin:0; }
.admin-tool-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.admin-tool-grid a { display:block; padding:16px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.035); transition:.18s; }
.admin-tool-grid a:hover { transform:translateY(-2px); border-color:rgba(245,197,66,.34); background:rgba(245,197,66,.055); }
.admin-tool-grid strong,.admin-tool-grid small { display:block; }
.admin-tool-grid strong { font-size:14px; }
.admin-tool-grid small { color:var(--muted); margin-top:4px; font-size:11px; }
.admin-tool-grid.game-tools { grid-template-columns:repeat(5,1fr); }
.admin-tool-grid .featured { border-color:rgba(245,197,66,.38); background:rgba(245,197,66,.07); }
.lamha-tools .featured { border-color:rgba(244,114,182,.38); background:rgba(244,114,182,.08); }
.admin-mode-counts { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.admin-mode-counts span { padding:8px 11px; border:1px solid var(--border); border-radius:11px; color:var(--muted); font-size:11px; }
.admin-mode-counts strong { color:var(--gold); font-size:15px; margin-left:3px; }
.difficulty-counts strong { color:#f472b6; }
.admin-game-insights { grid-template-columns:1fr 1fr; }
.lamha-dashboard-stats .admin-stat-number,.lamha-admin-head h1 { color:#f472b6; }
.lamha-category-coverage { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; max-height:420px; overflow:auto; }
.lamha-category-coverage>div { display:grid; grid-template-columns:1fr auto; gap:3px 8px; padding:11px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.025); }
.lamha-category-coverage>div.inactive { opacity:.45; }
.lamha-category-coverage span { color:#f472b6; font-size:12px; }
.lamha-category-coverage small { grid-column:1/-1; color:var(--muted); }
.admin-mini-item div small { display:block; color:var(--muted); margin-top:3px; }
@media(max-width:900px){.admin-tool-grid,.admin-tool-grid.game-tools{grid-template-columns:1fr 1fr}.admin-game-insights{grid-template-columns:1fr}.lamha-category-coverage{grid-template-columns:1fr}}
@media(max-width:560px){.admin-dashboard-switcher{flex-direction:column}.admin-tool-grid,.admin-tool-grid.game-tools{grid-template-columns:1fr}}
.admin-trend-card { width:min(1150px,92%); margin:0 auto 22px; padding:22px; }
.admin-trend-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:12px; }
.admin-trend-head h2 { margin:3px 0; }
.admin-trend-head p { margin:0; color:var(--muted); font-size:12px; }
.admin-chart-legend { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.admin-chart-legend span { display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid var(--border); border-radius:10px; color:var(--muted); font-size:11px; }
.admin-chart-legend i { width:9px; height:9px; border-radius:3px; background:var(--series-color); }
.admin-chart-legend strong { color:#fff; margin-right:2px; }
.admin-chart-filter { display:flex; width:max-content; gap:5px; margin:0 0 14px; padding:5px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.025); }
.admin-chart-filter a { padding:7px 12px; border-radius:8px; color:var(--muted); font-size:11px; font-weight:900; transition:.18s; }
.admin-chart-filter a:hover { color:#fff; background:rgba(255,255,255,.06); }
.admin-chart-filter a.active { color:#241100; background:linear-gradient(135deg,var(--gold),#ffdf7e); }
.admin-chart-scroll { overflow-x:auto; }
.admin-trend-chart { display:block; width:100%; min-width:700px; height:auto; }
.chart-grid-line { stroke:rgba(255,255,255,.1); stroke-width:1; }
.chart-axis-number,.chart-date-label { fill:#a99ab9; font-family:var(--font-main); font-size:10px; }
.chart-axis-number { text-anchor:end; }
.chart-date-label { text-anchor:middle; }
@media(max-width:700px){.admin-trend-head{flex-direction:column}.admin-chart-legend{justify-content:flex-start}.admin-trend-card{padding:17px}.admin-chart-filter{width:100%}.admin-chart-filter a{flex:1;text-align:center;padding:7px 6px}}

/* مشاركة روابط غرف اللعبتين */
.room-share-card { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; gap:18px 28px; align-items:center; padding:24px; border:1px solid rgba(245,197,66,.28); border-radius:24px; background:radial-gradient(circle at 90% 20%,rgba(245,197,66,.11),transparent 40%),var(--card); box-shadow:0 18px 55px rgba(0,0,0,.2); text-align:right!important; }
.room-share-card.room-share-lamha { border-color:rgba(244,114,182,.34); background:radial-gradient(circle at 90% 20%,rgba(244,114,182,.14),transparent 42%),var(--card); }
.room-share-copy>span { color:var(--gold); font-size:11px; font-weight:900; }
.room-share-lamha .room-share-copy>span { color:#f472b6; }
.room-share-copy h2 { margin:3px 0; font-size:24px; }
.room-share-copy p { color:var(--muted); margin:0; }
.room-share-code-wrap { min-width:240px; padding:14px 20px; text-align:center; border-radius:18px; border:1px dashed rgba(245,197,66,.4); background:rgba(5,2,12,.38); }
.room-share-lamha .room-share-code-wrap { border-color:rgba(244,114,182,.46); }
.room-share-code-wrap small,.room-share-code-wrap span { display:block; color:var(--muted); font-size:11px; }
.room-share-code { display:block; direction:ltr; color:var(--gold); font-size:35px; line-height:1.2; letter-spacing:7px; margin:3px 0; }
.room-share-lamha .room-share-code { color:#f472b6; }
.room-share-link-row { grid-column:1/-1; display:grid; grid-template-columns:1fr auto; gap:8px; padding-top:4px; }
.room-share-link-row.copy-only { display:flex; justify-content:flex-end; }
.room-share-link-row input { width:100%; margin:0; direction:ltr; text-align:left; color:var(--muted); background:rgba(5,2,12,.42); border-color:rgba(255,255,255,.12); }
.copy-room-btn { display:flex; align-items:center; justify-content:center; gap:7px; min-width:132px; padding:10px 15px; border:1px solid rgba(245,197,66,.32); border-radius:12px; color:#2a1600; background:linear-gradient(135deg,var(--gold),#ffdf7e); font:inherit; font-size:13px; font-weight:900; cursor:pointer; transition:.18s; }
.room-share-lamha .copy-room-btn { color:#fff; border-color:rgba(244,114,182,.35); background:linear-gradient(135deg,#db2777,#9333ea); }
.copy-room-btn:hover { transform:translateY(-2px); }
.copy-room-btn.copied { background:#22c55e; color:#061d0e; border-color:#22c55e; }
.copy-room-btn svg { width:18px; height:18px; }

/* التنظيف الدوري الذكي */
.maintenance-alert,.maintenance-overview,.maintenance-action-card,.maintenance-preview-grid,.maintenance-policy-grid,.maintenance-runs { width:min(1120px,94%); margin-left:auto; margin-right:auto; }
.maintenance-alert { margin-bottom:14px; }
.maintenance-alert.danger { border-color:rgba(239,68,68,.35); color:#fecaca; background:rgba(127,29,29,.18); }
.maintenance-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
.maintenance-health-card { padding:18px; }
.maintenance-health-card span,.maintenance-health-card strong,.maintenance-health-card small { display:block; }
.maintenance-health-card span { color:var(--muted); font-size:12px; }
.maintenance-health-card strong { margin:5px 0; color:var(--gold); font-size:25px; }
.maintenance-health-card small { color:var(--muted); }
.maintenance-action-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.maintenance-action-card h2,.maintenance-action-card p { margin:0; }
.maintenance-action-card p { max-width:690px; margin-top:5px; color:var(--muted); line-height:1.7; }
.maintenance-action-card form { flex:0 0 auto; }
.maintenance-action-card .btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.maintenance-preview-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:16px; }
.maintenance-preview-grid article { min-height:95px; padding:15px; border:1px solid var(--border); border-radius:15px; background:rgba(255,255,255,.025); }
.maintenance-preview-grid article.has-items { border-color:rgba(245,197,66,.32); background:rgba(245,197,66,.055); }
.maintenance-preview-grid strong,.maintenance-preview-grid span { display:block; }
.maintenance-preview-grid strong { color:var(--gold); font-size:24px; }
.maintenance-preview-grid span { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.55; }
.maintenance-policy-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px; }
.maintenance-policy-grid article { padding:18px; }
.maintenance-policy-grid strong { color:var(--gold); font-size:12px; }
.maintenance-policy-grid h3 { margin:6px 0; font-size:16px; }
.maintenance-policy-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.maintenance-policy-grid article.protected { border-color:rgba(34,197,94,.28); background:rgba(34,197,94,.045); }
.maintenance-policy-grid article.protected strong { color:#86efac; }
.maintenance-runs { margin-bottom:45px; overflow:auto; }
.maintenance-table-head { display:flex; align-items:end; justify-content:space-between; gap:15px; padding:20px 20px 8px; }
.maintenance-table-head h2 { margin:2px 0 0; }
.maintenance-table-head small { color:var(--muted); }
@media(max-width:760px){
    .maintenance-overview,.maintenance-policy-grid { grid-template-columns:1fr 1fr; }
    .maintenance-preview-grid { grid-template-columns:repeat(2,1fr); }
    .maintenance-action-card,.maintenance-table-head { align-items:stretch; flex-direction:column; }
    .maintenance-action-card form,.maintenance-action-card .btn { width:100%; }
}
@media(max-width:760px){.game-library-grid,.game-mode-picker,.admin-game-hub{grid-template-columns:1fr}.lamma-how{grid-template-columns:1fr 1fr}.platform-features{grid-template-columns:1fr}.platform-guest-card{align-items:stretch;flex-direction:column}.platform-guest-card>div:last-child .btn{flex:1;text-align:center}.game-room-join{grid-template-columns:auto 1fr}.game-room-join form{grid-column:1/-1;width:100%}.game-room-join input{width:100%}.game-library-head small{display:none}.game-product-card p,.game-mode-picker p{min-height:0}.platform-hero{padding:46px 55px 35px}.platform-meme-layer{right:-5%;width:58%;opacity:.3}.platform-game-icon{width:43px;height:43px;border-radius:14px}.platform-game-icon svg{width:22px;height:22px}.platform-icon-teams{left:5%}.game-entry-hero{padding:30px 55px}.game-entry-hero.lamma-entry{padding:25px 14px 30px}.lamma-hero-scene{gap:5px}.lamma-scene-score{width:45px;height:62px}.lamma-scene-question{width:65px;height:79px}.game-entry-orbit{width:38px;height:38px}.room-share-card{grid-template-columns:1fr;text-align:center!important}.room-share-code-wrap{min-width:0}.room-share-link-row{grid-column:1;grid-template-columns:1fr}.copy-room-btn{width:100%}}

/* ===== إدارة بنك لمّحها ===== */
.lamha-admin-alert,.lamha-admin-stats,.lamha-admin-editor-grid,.lamha-admin-filters,.lamha-bank-table { width:min(1150px,94%); margin-left:auto; margin-right:auto; }
.lamha-admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.lamha-admin-stats article { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:17px; }
.lamha-admin-stats span,.lamha-admin-stats strong { display:block; }
.lamha-admin-stats span { color:var(--muted); font-size:12px; }
.lamha-admin-stats strong { color:#f472b6; font-size:30px; margin-top:5px; }
.lamha-admin-editor-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:15px; align-items:start; }
.lamha-admin-editor-grid>.form-card { width:100%; margin:0; }
.lamha-admin-categories { display:grid; gap:7px; margin-top:16px; max-height:430px; overflow:auto; }
.lamha-admin-categories>div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border-radius:11px; background:rgba(255,255,255,.035); }
.lamha-admin-categories span strong,.lamha-admin-categories span small { display:block; }
.lamha-admin-categories small { color:var(--muted); }
.lamha-category-rename { flex:1; display:grid; grid-template-columns:1fr auto; gap:5px 8px; align-items:center; }
.lamha-category-rename input { margin:0; padding:8px 10px; }
.lamha-category-rename small { grid-column:1; }
.lamha-category-rename .btn { grid-column:2; grid-row:1/3; }
.lamha-admin-categories .inactive,.lamha-bank-table tr.inactive { opacity:.5; }
.lamha-word-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lamha-word-editor label small { color:var(--muted); }
.lamha-admin-filters { margin-top:16px; margin-bottom:16px; }
.lamha-admin-filters form { display:grid; grid-template-columns:2fr 1fr 1fr auto auto; gap:9px; align-items:end; }
.lamha-admin-filters input,.lamha-admin-filters select { margin:0; }
.lamha-bank-table td>small,.lamha-bank-table td strong+small { display:block; color:var(--muted); margin-top:4px; }
.lamha-bank-actions { display:flex; gap:6px; align-items:center; }
.lamha-bank-actions form { margin:0; }
@media(max-width:850px){.lamha-admin-stats{grid-template-columns:1fr 1fr}.lamha-admin-editor-grid{grid-template-columns:1fr}.lamha-admin-filters form{grid-template-columns:1fr}.lamha-word-grid{grid-template-columns:1fr}.lamha-bank-table{overflow-x:auto}.lamha-bank-table table{min-width:900px}}

/* ===== صفحات السياسات ومتطلبات النشر (v22) ===== */
.footer-policy-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px 16px;
    margin: 8px auto 12px;
}

.footer-policy-links a {
    color: var(--muted);
    font-size: 12px;
    text-decoration: none;
}

.footer-policy-links a:hover { color: var(--gold); }

.policy-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    margin: 4px 0 16px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
    cursor: pointer;
}

.policy-consent input {
    width: 17px !important;
    height: 17px;
    margin: 4px 0 0 !important;
    flex: 0 0 auto;
    accent-color: var(--gold);
}

.policy-consent a { color: var(--gold); font-weight: 800; }
.checkout-consent { margin-top: 14px; }

.policy-page {
    width: min(860px, 94%);
    margin: 0 auto 42px;
}

.policy-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: clamp(20px, 4vw, 34px);
}

.policy-card h2 { color: var(--gold); margin: 28px 0 10px; font-size: 20px; }
.policy-card h2:first-child { margin-top: 0; }
.policy-card p, .policy-card li { color: var(--text); line-height: 1.95; }
.policy-card ul, .policy-card ol { padding-right: 22px; }
.policy-card a { color: var(--gold); font-weight: 800; }
.policy-updated { color: var(--muted); text-align: center; font-size: 13px; margin-top: 14px; }
.policy-summary { margin-bottom:24px; padding:16px 18px; border:1px solid rgba(245,197,66,.28); border-radius:14px; background:rgba(245,197,66,.07); }
.policy-summary strong { display:block; color:var(--gold); margin-bottom:4px; }
.policy-summary p { margin:0; }

/* ===== عن مُلِم ===== */
.about-page-head { max-width:760px; }
.about-kicker { color:var(--gold); font-size:12px; font-weight:900; }
.about-content { width:min(900px,94%); margin:0 auto 45px; }
.about-section { margin-bottom:14px; padding:clamp(20px,4vw,30px); border:1px solid var(--border); border-radius:22px; background:var(--card); }
.about-section h2 { margin:0 0 10px; color:var(--gold); font-size:22px; }
.about-section p,.about-section li { color:var(--text); line-height:1.95; }
.about-section p:last-child { margin-bottom:0; }
.about-section a { color:var(--gold); font-weight:800; }
.about-intro { position:relative; overflow:hidden; border-color:rgba(245,197,66,.27); background:radial-gradient(circle at 8% 20%,rgba(245,197,66,.12),transparent 35%),var(--card); }
.about-games { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:14px; }
.about-game-card { padding:25px; border:1px solid var(--border); border-radius:22px; background:rgba(255,255,255,.025); }
.about-game-card span { font-size:11px; font-weight:900; }
.about-game-card h2 { margin:5px 0 8px; font-size:30px; }
.about-game-card p { margin:0; color:var(--muted); line-height:1.85; }
.about-game-card.lamma { border-color:rgba(245,197,66,.3); }
.about-game-card.lamma span,.about-game-card.lamma h2 { color:var(--gold); }
.about-game-card.lamha { border-color:rgba(244,114,182,.32); }
.about-game-card.lamha span,.about-game-card.lamha h2 { color:#f472b6; }
.about-game-card.village { border-color:rgba(129,140,248,.34); }
.about-game-card.village span,.about-game-card.village h2 { color:#818cf8; }
.about-points { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.about-points>div { padding:15px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.025); }
.about-points strong { color:#fff; }
.about-points p { margin:5px 0 0; color:var(--muted); font-size:13px; }
.about-notice { margin-top:18px; padding:15px 17px; border-right:3px solid var(--gold); border-radius:10px; background:rgba(245,197,66,.075); }
.about-notice strong { display:block; color:var(--gold); margin-bottom:3px; }
.about-notice p { margin:0; }
.about-contact-card { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.about-contact-card p { margin:0; color:var(--muted); }
.about-contact-card .btn { flex:0 0 auto; color:#21172c; }
@media(max-width:700px){.about-games,.about-points{grid-template-columns:1fr}.about-contact-card{align-items:stretch;flex-direction:column}.about-contact-card .btn{text-align:center}}

/* ===== صفحة دفع Tap Sandbox (v21) ===== */
.checkout-shell { width: min(960px, 94%); margin: 22px auto 34px; }
.checkout-heading { text-align: center; margin-bottom: 18px; }
.checkout-heading > span,
.checkout-label { color: var(--gold); font-size: 12px; font-weight: 900; }
.checkout-heading h1 { margin: 6px 0; }
.checkout-heading p { color: var(--muted); margin: 0; }
.checkout-alert { margin-bottom: 14px; }
.checkout-config-card { margin-bottom: 14px; text-align: center; }
.checkout-config-card h2 { margin-top: 0; }
.checkout-config-card p { color: var(--muted); }
.checkout-config-card code { display: inline-block; direction: ltr; }
.checkout-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.checkout-order-card,
.checkout-customer-card { margin: 0; }
.checkout-order-card h2 { margin: 6px 0; }
.checkout-price { color: var(--gold); font-size: 30px; font-weight: 900; margin: 12px 0; }
.checkout-price small { font-size: 13px; color: var(--muted); }
.checkout-order-card ul { padding-right: 20px; color: var(--muted); line-height: 2; }
.checkout-customer-card dl,
.payment-result-card dl { margin: 14px 0; }
.checkout-customer-card dl div,
.payment-result-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}
.checkout-customer-card dt,
.payment-result-card dt { color: var(--muted); }
.checkout-customer-card dd,
.payment-result-card dd { margin: 0; text-align: left; overflow-wrap: anywhere; }
.checkout-security-copy { color: var(--muted); font-size: 12px; text-align: center; margin-bottom: 0; }

.payment-result-card {
    width: min(650px, 94%);
    margin: 40px auto;
    text-align: center;
    border-color: rgba(245,197,66,.24);
}
.payment-result-card.success { border-color: rgba(34,197,94,.42); }
.payment-result-card.failed { border-color: rgba(239,68,68,.42); }
.payment-result-card.pending { border-color: rgba(245,197,66,.42); }
.payment-result-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

@media (max-width: 720px) {
    .checkout-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .membership-admin-summary,
    .membership-admin-category-grid { grid-template-columns: 1fr; }
    .membership-admin-toolbar,
    .membership-admin-savebar { align-items: stretch; flex-direction: column; }
    .membership-admin-savebar .btn { width: 100%; }
}

/* ===== أقفال العضوية داخل التصنيفات (v19) ===== */
.category-card { position: relative; }

.category-access-lock {
    position: absolute;
    top: 9px;
    right: 9px;
    z-index: 3;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(20, 16, 29, .88);
    border: 1px solid rgba(245, 197, 66, .48);
    color: var(--gold);
    font-size: 10px;
    font-weight: 900;
    backdrop-filter: blur(5px);
}

.category-card:has(input:disabled) {
    cursor: not-allowed;
    opacity: .58;
    filter: saturate(.68);
}

.category-card:has(input:disabled):hover {
    transform: none;
    border-color: var(--border);
}

.membership-game-alert {
    width: min(1050px, 94%);
    margin: 0 auto 18px;
    text-align: center;
}

.membership-game-alert a {
    color: inherit;
    font-weight: 900;
    text-decoration: underline;
}

.start-btn:disabled {
    cursor: not-allowed;
    opacity: .5;
}

/* ===== محاكي الدفع الداخلي (v20) ===== */
.billing-simulator-warning,
.billing-simulator-alert,
.billing-user-picker,
.billing-simulator-summary,
.billing-simulator-actions,
.billing-orders-card {
    width: min(1100px, 94%);
    margin-left: auto;
    margin-right: auto;
}

.billing-simulator-warning {
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(245, 197, 66, .1);
    border: 1px solid rgba(245, 197, 66, .34);
    color: var(--gold);
    text-align: center;
    font-weight: 800;
}

.billing-user-picker { margin-bottom: 16px; }
.billing-user-picker select { margin-bottom: 0; }

.billing-simulator-summary,
.billing-simulator-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.billing-simulator-card { margin: 0; }
.billing-simulator-card.featured { border-color: rgba(245, 197, 66, .5); }
.billing-simulator-card h2 { margin-top: 0; }
.billing-simulator-card p { color: var(--muted); min-height: 52px; }
.billing-simulator-card form { display: grid; gap: 9px; }
.billing-simulator-card .btn { margin: 0; }

.billing-orders-card { margin-bottom: 30px; }
.billing-orders-card code { font-size: 11px; }

@media (max-width: 900px) {
    .billing-simulator-summary,
    .billing-simulator-actions { grid-template-columns: 1fr; }
    .billing-simulator-card p { min-height: 0; }
}

/* ===== جاهزية الإطلاق (v46) ===== */
.readiness-summary {
    width: min(1100px, 94%);
    margin: 0 auto 18px;
    padding: 22px;
    border: 1px solid rgba(245, 197, 66, .32);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(245, 197, 66, .1), rgba(255, 255, 255, .025));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.readiness-summary span,
.readiness-item header span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
}

.readiness-summary h2 { margin: 4px 0 0; }
.readiness-counts { display: flex; flex-wrap: wrap; gap: 8px; }
.readiness-counts strong {
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    background: rgba(255,255,255,.06);
}
.readiness-counts .pass { color: #64d99a; }
.readiness-counts .warn { color: var(--gold); }
.readiness-counts .fail { color: #ff7d89; }

.readiness-grid {
    width: min(1100px, 94%);
    margin: 0 auto 34px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.readiness-item { margin: 0; border-right: 4px solid var(--border); }
.readiness-item.pass { border-right-color: #39b979; }
.readiness-item.warn { border-right-color: var(--gold); }
.readiness-item.fail { border-right-color: #e45765; }
.readiness-item header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.readiness-item h2 { margin: 0; font-size: 18px; }
.readiness-item p { color: var(--muted); margin-bottom: 8px; }
.readiness-item small { display: block; color: #e7d79b; line-height: 1.8; }

@media (max-width: 760px) {
    .readiness-summary { align-items: flex-start; flex-direction: column; }
    .readiness-grid { grid-template-columns: 1fr; }
}
