:root{--navy:#0b151b;--petrol:#003f40;--green:#08733f;--lime:#a7c55c;--blue:#07558a;--cyan:#00a1b5;--orange:#f05a17;--gold:#f9b52b;--cream:#fff0b0;--paper:#f7faf9;--white:#fff;--muted:#60737a;--line:#dbe8e4;--danger:#c9474d;--shadow:0 18px 45px rgba(0,63,64,.13);--radius:22px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:linear-gradient(135deg,#f7faf9 0%,#eef8f2 48%,#fff8e7 100%);color:var(--navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.shell{width:min(1060px,100%);margin:auto;padding:112px 18px 36px}.ad-banner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:linear-gradient(110deg,var(--petrol),var(--blue) 58%,var(--green));border:2px solid rgba(167,197,92,.65);border-radius:18px;padding:12px 18px;margin-bottom:25px;text-align:center;color:#fff}.ad-top{position:fixed;top:8px;left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),1024px);z-index:1000;box-shadow:0 10px 28px rgba(0,63,64,.28);isolation:isolate}.ad-top::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.sponsor-fixed{position:fixed!important}.ad-bottom{margin:28px 0 0}.ad-label{width:100%;color:var(--cream);font-size:9px;font-weight:900;letter-spacing:.2em}.ad-banner a{color:#fff;text-decoration:none;font-size:15px;font-weight:950}.sponsor-brand{display:inline-flex!important;align-items:center;gap:7px}.sponsor-brand img{width:32px;height:32px;object-fit:contain;border-radius:50%;background:#fff;padding:2px}.sponsor-wce img{object-fit:cover}.sponsor-brand strong{color:var(--gold)}.ad-x{color:var(--gold);font-size:22px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}header>div:first-child{max-width:680px}header h1{color:var(--petrol);font-size:clamp(32px,6vw,58px);line-height:.98;margin:8px 0;letter-spacing:-.06em}header p{font-size:16px;margin:10px 0;color:var(--muted)}small{color:var(--green);font-weight:950;letter-spacing:.16em;font-size:10px}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.online{color:var(--green);font-size:12px;font-weight:900}.header-register{display:flex;align-items:center;gap:7px;border:2px solid var(--petrol);background:#fff;color:var(--petrol);border-radius:999px;padding:11px 16px;font-weight:950;cursor:pointer;box-shadow:0 5px 0 rgba(0,63,64,.12);transition:.18s}.header-register:hover{transform:translateY(-2px);border-color:var(--orange);color:var(--orange)}.header-register.logged-in{border-color:var(--green);color:var(--green)}.language-switch{display:flex;gap:5px}.language-switch button{min-width:34px}.lang-ar{direction:rtl}.language-switch button.active{background:var(--orange);border-color:var(--orange);color:#fff}.header-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:2px solid var(--lime);vertical-align:middle}.header-avatar.initials{display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--lime),var(--gold));color:var(--petrol);font-size:13px;font-weight:1000}.logged-user{display:none}.seo-content{margin:22px 0}.seo-content h2{color:var(--petrol);margin:8px 0}.seo-content p{color:var(--muted);line-height:1.6}.seo-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.seo-columns>div{background:#f4faf7;border:1px solid #d9ebe3;border-radius:14px;padding:14px}.seo-columns h3{color:var(--green);margin:0 0 6px;font-size:16px}.seo-languages{margin-bottom:0}.seo-links a{color:var(--green);font-weight:900;text-decoration:underline}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,36px);box-shadow:var(--shadow)}.intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.intro h2{color:var(--petrol);margin:7px 0;font-size:clamp(25px,4vw,38px)}.intro p{margin:8px 0;color:var(--muted)}.intro>b{font-size:34px;background:linear-gradient(135deg,var(--cream),#fff);border:2px solid var(--gold);border-radius:18px;padding:12px;height:68px;box-shadow:0 6px 0 rgba(249,181,43,.18)}.step-title{display:flex;align-items:center;gap:11px;margin:25px 0 11px}.step-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:1000;box-shadow:0 4px 0 rgba(240,90,23,.2)}.step-title strong,.step-title small{display:block}.step-title small{color:var(--muted);letter-spacing:0;font-size:11px;margin-top:2px}.big-routes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.big-route,.sub-route{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:#fff;color:var(--navy);border:2px solid var(--line);border-radius:17px;padding:16px;cursor:pointer;transition:.18s}.big-route{min-height:122px}.big-route .route-icon{font-size:30px}.big-route strong,.sub-route strong{font-size:15px;color:var(--petrol)}.big-route small,.sub-route small{color:var(--muted);font-size:11px;letter-spacing:0}.big-route:hover,.sub-route:hover{transform:translateY(-3px);border-color:var(--cyan);box-shadow:0 8px 18px rgba(0,161,181,.13)}.big-route.active,.sub-route.active{border-color:var(--orange);background:linear-gradient(135deg,#fff,#fff5e8);box-shadow:0 0 0 4px rgba(240,90,23,.12)}.sub-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.sub-route span{font-size:27px}.selected-route{margin:15px 0;padding:12px 14px;border-radius:12px;background:#e8f5ed;color:var(--petrol);font-size:13px;border-left:5px solid var(--green)}.selected-route b{color:var(--orange)}.primary,.secondary{border:0;border-radius:12px;padding:13px 19px;font-weight:950;cursor:pointer;transition:.18s}.primary{background:var(--orange);color:#fff;box-shadow:0 5px 0 #c94410}.primary:hover{transform:translateY(-2px);background:#ff6a23}.secondary{background:#e5f1ed;color:var(--petrol);border:1px solid #b8d8ce}.secondary:hover{background:#d4eae2}.privacy{color:var(--muted);font-size:12px;margin-top:13px}.hidden{display:none!important}.home-ranking{margin-top:25px;border-top:2px dashed var(--line);padding-top:14px}.ranking-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.ranking-filters select{background:#fff;color:var(--petrol);border:1px solid #bad9ce;border-radius:10px;padding:11px;width:100%;font:inherit}.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ranking-grid h3{color:var(--petrol);font-size:14px;margin:5px 0 8px}.rank-list{display:grid;gap:7px}.rank{display:flex;justify-content:space-between;align-items:center;background:#f4faf7;border:1px solid #d9ebe3;border-radius:11px;padding:10px 12px;margin:0}.rank b{color:var(--orange)}.rank-person{display:flex;align-items:center;gap:8px}.rank-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--gold));color:var(--petrol);font-weight:1000}.rank-avatar-img{width:27px;height:27px;border-radius:50%;object-fit:cover;border:2px solid var(--lime)}.gamebar{display:flex;justify-content:space-between;align-items:center;gap:15px}.gamebar>div:first-child{display:flex;align-items:center;gap:12px}.gamebar>div:first-child span{font-size:32px}.stats{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:13px}.stats strong{background:var(--petrol);color:#fff;padding:6px 10px;border-radius:99px}.stats strong.urgent{background:var(--danger);color:#fff}.progress{height:10px;background:#e8f0ed;border-radius:99px;margin:24px 0;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--lime),var(--gold));width:0}.answer{display:block;width:100%;text-align:left;background:#fff;color:var(--navy);border:2px solid var(--line);border-radius:14px;padding:16px;margin:10px 0;font:inherit;font-weight:800;cursor:pointer;transition:.15s}.answer:hover{border-color:var(--cyan);background:#f1fbfc}.answer.selected{border-color:var(--orange);background:#fff3e8;box-shadow:0 0 0 3px rgba(240,90,23,.1)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}#feedback{min-height:27px;font-weight:950}.good{color:var(--green)}.bad{color:var(--danger)}.explanation{margin:10px 0 0;font-size:14px;line-height:1.55;font-weight:750}.explanation.good{color:var(--green)}.explanation.bad{color:#9d343c}.danger-button{display:block;width:max-content;margin:12px 0 2px;border:1px solid #e4a4a8;background:#fff0f0;color:#a3353e;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:850;cursor:pointer}.danger-button:hover{background:#ffe0e2}.report-link{margin-top:10px;border:0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:5px 0}.report-link:hover{color:var(--orange)}.celebration{position:relative;overflow:hidden;text-align:center;margin:-8px -8px 18px;padding:18px 12px;border-radius:16px;background:linear-gradient(135deg,#fff4bf,#fff0e8 48%,#dff7e9);color:var(--orange);font-size:20px;box-shadow:0 8px 20px rgba(240,90,23,.13)}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;left:var(--x);top:-12px;width:8px;height:14px;background:var(--c);border-radius:2px;transform:rotate(var(--r));animation:confetti-fall 2.8s var(--d) ease-out forwards}.celebration strong{position:relative;z-index:1}@keyframes confetti-fall{to{top:115%;transform:translateY(0) rotate(calc(var(--r) + 540deg));opacity:0}}.end-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.end-actions button{flex:1;min-width:210px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:19px 0}.profile-stats>div{background:#f4faf7;border:1px solid #d9ebe3;border-radius:13px;padding:13px;text-align:center}.profile-stats strong,.profile-stats small{display:block}.profile-stats strong{font-size:24px;color:var(--green)}.profile-history{margin:15px 0;max-height:300px;overflow:auto}.profile-history .rank span{display:flex;flex-direction:column;gap:3px}.profile-history .rank small{letter-spacing:0;color:var(--muted);font-size:10px}.avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.avatar-wrap img{width:70px;height:70px;border-radius:50%;border:3px solid var(--lime);background:#e8f5ed}.avatar-wrap img:not(.has-avatar){visibility:hidden}.avatar-button{display:block!important;color:var(--green)!important;font-size:11px!important;cursor:pointer}.avatar-button input{display:none}footer{text-align:center;color:var(--muted);font-size:12px;margin-top:20px}footer a{color:var(--green);text-decoration:none;font-weight:950}dialog{border:0;border-top:6px solid var(--orange);border-radius:18px;background:#fff;color:var(--navy);padding:26px;max-width:440px;width:calc(100% - 28px);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,63,64,.55)}.ranking-more{margin-top:10px;padding:8px 11px;font-size:11px}.link-button{border:0;background:transparent;color:var(--green);text-decoration:underline;font:inherit;font-weight:850;cursor:pointer;padding:0}.link-button:hover{color:var(--orange)}label{display:flex;flex-direction:column;gap:6px;color:var(--petrol);font-size:13px;font-weight:850;margin:10px 0}input,textarea{background:#fbfefd;color:var(--navy);border:1px solid #bad9ce;border-radius:11px;padding:13px;font:inherit;outline:none;width:100%}.consent{flex-direction:row;align-items:flex-start;font-size:12px;color:var(--muted)}.consent input{width:auto;margin-top:3px}.is-3pc .sub-routes{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:repeat(3,1fr)}.is-3pc .step-two{display:flex!important}.is-3pc .sub-route{min-height:90px}@media(max-width:900px){.is-3pc .sub-routes{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{padding:105px 11px 24px}.ad-top{top:6px;width:calc(100% - 14px);padding:9px 8px;gap:8px}.ad-banner a{font-size:12px}.ad-banner img{width:25px;height:25px}header{align-items:flex-start;flex-direction:column}.header-actions{align-items:flex-start;width:100%}.header-register{width:100%;justify-content:center}.big-routes{grid-template-columns:1fr}.sub-routes,.is-3pc .sub-routes{grid-template-columns:1fr}.ranking-filters,.ranking-grid,.seo-columns{grid-template-columns:1fr}.card{border-radius:18px}.gamebar{align-items:flex-start}.stats{font-size:11px}.actions{justify-content:stretch}.actions button{flex:1}.profile-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.profile-stats{grid-template-columns:1fr}.end-actions{display:grid}.end-actions button{min-width:0;width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Mobile report dialog: keep the message field visible and scrollable. */
#reportDialog{max-height:calc(100dvh - 24px);overflow-y:auto}#reportForm{max-height:calc(100dvh - 76px);overflow-y:auto}#reportMessage{display:block;min-height:150px;resize:vertical;line-height:1.4}#reportForm .actions{position:sticky;bottom:0;background:#fff;padding-top:10px}

.review-list{display:grid;gap:12px;margin:18px 0}.review-item{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfefd}.review-item.review-ok{border-left:5px solid var(--green)}.review-item.review-bad{border-left:5px solid var(--danger)}.review-item p{margin:8px 0 0;line-height:1.45}.review-explanation{color:var(--muted);font-weight:650}.review-item b{line-height:1.4}

.admin-panel{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfefd}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-head h3{margin:0;color:var(--petrol)}#adminStats{color:var(--green);font-weight:800;margin:8px 0}.admin-table-wrap{overflow-x:auto}.admin-panel table{width:100%;border-collapse:collapse;font-size:12px;min-width:720px}.admin-panel th,.admin-panel td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.admin-panel th{color:var(--petrol);font-weight:900}.admin-status{font-weight:900}.admin-status.active{color:var(--green)}.admin-status.inactive{color:var(--muted)}

.challenge-invite{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.challenge-invite input{flex:1;min-width:200px}.user-challenge-row{padding:12px;margin:10px 0;border:1px solid var(--line);border-radius:12px;background:#fff}.user-challenge-row span,.user-challenge-row small{display:block;color:var(--muted);font-size:12px}.user-challenge-row input{margin-top:8px;padding:8px;width:70%}.wce-coming h3{margin:0 0 6px;color:var(--petrol)}.wce-coming p{color:var(--muted)}.challenge-cards article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfefd}.challenge-cards h3{margin:0 0 6px;color:var(--petrol)}.challenge-cards p{margin:0 0 12px;color:var(--muted)}#proposalDialog{max-width:680px;width:calc(100% - 24px)}#proposalForm textarea{min-height:90px;resize:vertical}#proposalForm label{display:block;margin:10px 0}.hidden{display:none!important}@media(max-width:700px){.challenge-cards{grid-template-columns:1fr}}

.achievement-list{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.profile-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px;flex-wrap:wrap}.profile-actions .danger-button{margin:0}.achievement{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.achievement b,.achievement small{display:block}.achievement small{color:var(--muted);font-size:11px;margin-top:4px}.admin-challenge{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.proposal-content textarea{width:100%;min-height:70px;margin-top:4px}.proposal-content label{display:block;margin:8px 0}.admin-challenge-filters{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.proposal-row{display:flex;justify-content:space-between;gap:16px;padding:14px;margin:10px 0;border:1px solid var(--line);border-radius:14px;background:#fff}.proposal-row span,.proposal-row small{display:block;color:var(--muted);font-size:12px}.proposal-row p{margin:8px 0}.proposal-actions{display:flex;flex-direction:column;gap:8px;min-width:170px}@media(max-width:700px){.proposal-row{display:block}.proposal-actions{margin-top:10px}}

.other-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.other-modes .game-mode-card{min-height:210px}@media(max-width:700px){.other-modes{grid-template-columns:1fr}}.wce-mode{background:#fff0e7!important;border:2px solid #f05a17!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(240,90,23,.14)!important}.lab-mode{background:#edf0ff!important;border:2px solid #4056a1!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(64,86,161,.14)!important}.expert-rankings{margin-top:22px!important;padding:18px!important;border:2px solid #a765c7!important;border-radius:18px!important;background:#f5effb!important;box-shadow:var(--shadow)!important}.expert-rankings>h3{color:#4d236d!important;margin-top:0}.expert-ranking-card.wce-ranking{border:2px solid #f05a17!important;background:#fff0e7!important;box-shadow:0 8px 20px rgba(240,90,23,.12)!important}.expert-ranking-card.lab-ranking{border:2px solid #4056a1!important;background:#edf0ff!important;box-shadow:0 8px 20px rgba(64,86,161,.12)!important}.expert-ranking-card{border-radius:18px!important}.expert-ranking-card.wce-ranking .step-title strong{color:#a83d0c}.expert-ranking-card.lab-ranking .step-title strong{color:#293b91}.expert-ranking-card .rank{background:rgba(255,255,255,.86)!important}.wce-route-label,.lab-route-label{width:100%}.wce-route-label select,.lab-route-label select{width:100%}.game-mode-card .mode-icon{font-size:32px}.game-mode-card h3{margin:8px 0 6px;font-size:20px}.game-mode-card p{margin:0 0 14px;color:var(--muted);line-height:1.4}.classic-mode{background:#e8f5ef;border-color:#08733f}.wce-mode{background:#fff0e7;border-color:#f05a17}.lab-mode{background:#edf0ff;border-color:#4056a1}.mode-status{margin-top:auto;color:#c9474d;font-size:14px}.game-mode-card button{margin-top:auto}.card-inner{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfefd}.card-inner .step-title{margin-top:0}@media(max-width:900px){.game-modes{grid-template-columns:1fr}}

.game-breadcrumb{margin:14px 0 10px;padding:10px 14px;border-left:4px solid var(--green);border-radius:10px;background:#eef8f3;color:var(--ink);font-weight:700;font-size:14px}.question-author{margin:-4px 0 14px;color:var(--muted);font-size:14px;font-weight:800}.question-author.hidden{display:none}.game-breadcrumb:before{content:"📍 ";}

.expert-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.expert-buttons .secondary{font-size:13px}

/* Desktop: WCE/Lab and their rankings share two columns. */
@media (min-width:701px){.other-modes{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}.other-modes .game-mode-card{width:100%!important;min-width:0!important}.expert-rankings{width:100%!important}.expert-rankings #expertRankingsGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}.expert-ranking-card{width:100%!important;min-width:0!important}}
@media (max-width:700px){.other-modes,.expert-rankings #expertRankingsGrid{grid-template-columns:1fr!important}}

.form-status{min-height:1.3em;margin:8px 0;font-weight:700;color:var(--green)}

.comments-toolbar{margin:10px 0}.comments-list{display:flex;flex-direction:column;gap:10px}.game-comment{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfefd;margin-left:0}.game-comment .game-comment{margin:10px 0 0 24px;background:#f1f7f4}.game-comment b{margin-right:8px}.game-comment small{color:var(--muted)}.game-comment p{margin:7px 0;white-space:pre-wrap}.comment-compose{margin-top:14px;display:flex;gap:10px;align-items:flex-end}.comment-compose textarea{flex:1;min-height:72px}.admin-comments{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px}.admin-comment-row{padding:10px 0;border-bottom:1px solid var(--line)}.admin-comment-row p{white-space:pre-wrap}.admin-comment-row button{margin:4px}.form-status{min-height:1.3em}@media(max-width:700px){.comment-compose{flex-direction:column;align-items:stretch}}

.admin-table-wrap{max-height:520px;overflow:auto}.admin-user-group td{padding:0!important}.admin-user-group details{padding:10px 4px}.admin-user-group summary{cursor:pointer;list-style-position:inside;padding:8px;background:#eef8f3;border-radius:8px;position:sticky;top:0}.admin-user-detail{padding:10px 18px;background:#fff}.admin-activity-list{max-height:260px;overflow:auto;margin-top:10px;border-top:1px solid var(--line)}.admin-activity-list>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.admin-user-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}.admin-user-status{font-size:12px}.admin-user-status[data-user-status="paused"]{background:#fff0f0;color:#a3353e;border-color:#e4a4a8}

.expert-rankings{margin-top:18px;padding-top:14px;border-top:2px dashed var(--line)}.expert-rankings>h3{color:var(--petrol)}#expertRankingsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.expert-ranking-card{padding:16px;border-radius:18px;border:2px solid var(--line);background:#eef8f3;box-shadow:var(--shadow)}.expert-ranking-card.wce-ranking{border-color:#f05a17;background:#fff0e7}.expert-ranking-card.lab-ranking{border-color:#4056a1;background:#edf0ff}.expert-ranking-card .step-title{margin:0 0 10px}.expert-ranking-card .rank-list{display:grid;gap:7px}.expert-ranking-card .rank{background:rgba(255,255,255,.8)}@media(max-width:700px){#expertRankingsGrid{grid-template-columns:1fr}}

#setup{border:3px solid #08733f;background:linear-gradient(145deg,#f1fff6,#fff)}#rankingsSection{border:3px solid #f9b52b;background:linear-gradient(145deg,#fffdf0,#fff)}#userChallenges{border:3px solid #f05a17;background:linear-gradient(145deg,#fff8f2,#fff)}.profile-details-form{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f5fbf8}.profile-details-form h3{margin-top:0;color:var(--petrol)}.profile-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.profile-details-grid label{display:flex;flex-direction:column;gap:5px;font-weight:700;color:var(--petrol)}.profile-details-grid input{width:100%}.admin-table-wrap{max-height:520px;overflow:auto}.admin-comments,.admin-challenge{max-height:620px;overflow:auto}.admin-comments #adminGameComments,.admin-challenge #challengeProposals{max-height:480px;overflow:auto}@media(max-width:700px){.profile-details-grid{grid-template-columns:1fr}}

#challengeProposals{max-height:560px;overflow-y:auto;padding-right:4px}.proposal-row details{border:1px solid var(--line);border-radius:14px;background:#fff;margin:8px 0;overflow:hidden}.proposal-row summary{cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:14px 16px;background:#eef8f3;color:var(--petrol);list-style-position:inside}.proposal-row summary::marker{color:var(--orange)}.proposal-row details[open] summary{border-bottom:1px solid var(--line);background:#e4f3ec}.proposal-row details .proposal-content,.proposal-row details .proposal-actions{padding-left:16px;padding-right:16px}.proposal-row details .proposal-actions{padding-bottom:14px}

.comment-pending-note{display:block;margin-top:8px;color:var(--green);font-weight:800}

/* Classic Quiz uses the same green visual identity in its setup and ranking. */
#setup{border-color:var(--green);background:linear-gradient(145deg,#eefaf2,#ffffff)}#setup .big-route,#setup .sub-route{background:#eef8f3;border-color:#9dcdb9}#setup .big-route.active,#setup .sub-route.active{background:linear-gradient(135deg,#dff4e7,#eefaf2);border-color:var(--green);box-shadow:0 0 0 4px rgba(8,115,63,.14)}#rankingsSection{border-color:var(--green);background:linear-gradient(145deg,#eefaf2,#ffffff)}#rankingsSection .ranking-grid>div{background:#eef8f3;border:1px solid #b7dcca;border-radius:16px;padding:14px}#rankingsSection .rank{background:#ffffff;border-color:#b7dcca}

/* User Challenges has its own independent visual identity. */
#userChallenges{border:3px solid #6b3fa0;background:linear-gradient(145deg,#f5effb,#ffffff)}#userChallenges .step-title>span{background:#6b3fa0;box-shadow:0 4px 0 rgba(107,63,160,.2)}#userChallenges .challenge-invite{background:#f1e8fa;border:1px solid #d3b9e8;border-radius:14px;padding:14px}#userChallenges .challenge-invite input,#userChallenges .challenge-invite select{background:#fff;border-color:#c7a9df}#userChallenges .user-challenge-row{background:#fbf8fe;border-color:#d3b9e8}#userChallenges .primary{background:#6b3fa0;box-shadow:0 5px 0 #4e2c76}

/* All ranking panels show 15 rows before scrolling. */
.rank-list{max-height:620px;overflow-y:auto;padding-right:4px}.ranking-grid .rank-list,.expert-ranking-card .rank-list{max-height:620px;overflow-y:auto}.rank-list::-webkit-scrollbar{width:8px}.rank-list::-webkit-scrollbar-thumb{background:#a7c55c;border-radius:8px}

/* Expert game buttons inherit each game card color with contrasting intensities. */
#wceChallenge .expert-buttons .secondary{background:#ffd9c4;border-color:#f05a17;color:#8f3210}#wceChallenge .expert-buttons .secondary:hover{background:#f05a17;color:#fff}#challengeLab .expert-buttons .secondary{background:#d9e0ff;border-color:#4056a1;color:#263b82}#challengeLab .expert-buttons .secondary:hover{background:#4056a1;color:#fff}#challengeLab #openProposalTop{background:#c7d1ff;border-color:#4056a1;color:#263b82}#challengeLab #openProposalTop:hover{background:#4056a1;color:#fff}

.private-content-box{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fcfa}.private-content-box h3{color:var(--petrol);margin-top:0}.private-item{padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:12px;background:#fff}.private-item small{display:block;color:var(--muted);letter-spacing:0;font-size:11px;margin:6px 0}.private-item button{margin:5px 6px 0 0}

.expert-block-select{width:100%;margin:8px 0;padding:10px;border:1px solid #4056a1;border-radius:10px;background:#fff;color:var(--petrol)}

.proposal-original{margin:12px 0;padding:14px;border:2px solid #c7d1ff;border-radius:12px;background:#f4f6ff;color:var(--petrol)}.proposal-original strong{display:block;margin-bottom:8px}.proposal-original p{margin:7px 0;white-space:pre-wrap}.proposal-original ol{margin:8px 0;padding-left:24px}.proposal-original li{padding:3px 0}

/* Private moderation dashboard: color-coded sections. */
#adminPanel{background:#f7fbff;border:2px solid #7aa7d8;padding:18px;border-radius:20px}
#adminPanel> .admin-head,#adminPanel>p,#adminPanel>#adminStats,#adminPanel>.admin-table-wrap{background:#eaf3ff;border:1px solid #b8d2ed;border-radius:14px;padding:12px;margin:8px 0}
#adminPanel>.admin-comments{background:#f6effb;border:2px solid #9b6bc5;border-radius:16px;padding:14px;margin:16px 0}
#adminPanel>.admin-comments .admin-head{background:#eadcf5;border-radius:12px;padding:10px;color:#512b72}
#adminPanel>.admin-comments .admin-comment-row{background:#fff;border:1px solid #d6bde8;border-radius:10px;padding:12px;margin:8px 0}
#adminPanel>.admin-challenge{background:#fff4e9;border:2px solid #ee914f;border-radius:16px;padding:14px;margin:16px 0}
#adminPanel>.admin-challenge .admin-head{background:#ffe2c7;border-radius:12px;padding:10px;color:#8b4212}
#adminPanel>.admin-challenge-filters{background:#fff0df;border-radius:10px;padding:10px;margin:10px 0}
#adminPanel>.admin-challenge .proposal-row{background:#fff;border-color:#efbd8d}
#adminPanel>.profile-details-form{background:#eef9f1;border:2px solid #72b886}
#adminPanel .admin-table-wrap{max-height:520px;overflow:auto}
#adminPanel .admin-comments,#adminPanel .admin-challenge{max-height:680px;overflow:auto}
#adminPanel .admin-comments #adminGameComments,#adminPanel .admin-challenge #challengeProposals{max-height:520px;overflow-y:auto}

#gameComments{overflow:hidden}.comment-compose{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;overflow:hidden}.comment-compose textarea{min-width:0;max-width:100%;resize:vertical}.comment-compose input[type=file]{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;font-size:12px;padding:10px;background:#fff;border:1px solid #bad9ce;border-radius:11px}.comment-compose input[type=file]::file-selector-button{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.comment-compose input[type=file]{font-size:11px}.comment-compose input[type=file]::file-selector-button{max-width:45%}}

.lab-route-label{display:block;margin:9px 0;color:var(--petrol);font-weight:850}.lab-route-label .expert-block-select{margin-top:5px}

#userChallengesList{max-height:620px;overflow-y:auto;padding-right:6px}.challenge-score-compare{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0}.challenge-score-compare strong,.challenge-score-compare em{padding:7px 10px;border-radius:9px;background:#eee5f7;color:#4f2d70;font-size:13px;font-style:normal}.challenge-score-compare em{background:#dff3e7;color:#17653a}

.wce-route-label{display:block;margin:12px 0;color:var(--orange-deep,var(--petrol));font-weight:850}.wce-route-label .expert-route-select{margin-top:6px}

.community-links{margin:18px auto 4px;display:flex;flex-direction:column;align-items:center;gap:10px}.community-links>strong{font-size:14px;letter-spacing:.04em;color:var(--petrol)}.community-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.community-link{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:999px;text-decoration:none!important;font-weight:800;font-size:12px;border:1px solid transparent;transition:transform .15s ease,filter .15s ease}.community-link:hover{transform:translateY(-1px);filter:brightness(1.05)}.community-link.whatsapp{background:#dff7e7;color:#08733f;border-color:#9fd9b2}.community-link.facebook{background:#e7efff;color:#1555a5;border-color:#a9c5f0}.community-link.linkedin{background:#e4f1fa;color:#07558a;border-color:#9cc9e4}@media(max-width:600px){.community-buttons{width:100%;padding:0 8px}.community-link{font-size:11px;padding:8px 10px}}

.footer-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:850px;margin:18px auto 0;text-align:left}.footer-form{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.75)}.footer-form strong{color:var(--petrol);font-size:14px}.footer-form input,.footer-form textarea{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;font:inherit}.footer-form>div{display:flex;gap:8px}.footer-form>div input{flex:1}.footer-form button{cursor:pointer;border:0}.footer-form small{min-height:18px;color:var(--green);font-weight:700}@media(max-width:700px){.footer-forms{grid-template-columns:1fr}.footer-form>div{flex-direction:column}}

/* Final mobile hardening: keep every control inside the viewport. */
@media(max-width:700px){
  .shell{width:100%;padding:96px 10px 26px}
  .ad-top{top:4px;width:calc(100% - 10px);padding:8px 9px;gap:6px;border-radius:12px}
  .ad-top .ad-label{font-size:7px;letter-spacing:.12em}.ad-top a{font-size:11px}.ad-top .sponsor-brand img{width:25px;height:25px}.ad-top .ad-x{font-size:18px}
  header{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}header>div:first-child{max-width:none}header h1{font-size:clamp(31px,11vw,48px)}header p{font-size:14px}.header-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
  .card{padding:14px;border-radius:17px}.step-title{gap:9px}.step-title strong{font-size:15px}.step-title small{font-size:11px}
  .game-mode-card{width:100%;min-height:0;padding:15px}.game-mode-card h3{font-size:18px}.game-mode-card p{font-size:14px}.expert-buttons{width:100%;display:grid;grid-template-columns:1fr}.expert-buttons button{width:100%;margin-top:6px}
  .challenge-invite{display:grid;grid-template-columns:1fr;gap:8px}.challenge-invite input,.challenge-invite select,.challenge-invite button{width:100%;min-width:0}.challenge-invite .form-status{display:block;overflow-wrap:anywhere}
  .ranking-filters,.admin-challenge-filters{display:grid;grid-template-columns:1fr;gap:8px}.ranking-filters select,.admin-challenge-filters select{width:100%;min-width:0}
  .admin-head{align-items:stretch;flex-direction:column}.admin-head button,.admin-head select{width:100%;min-width:0}.admin-panel{padding:11px}.admin-panel .admin-table-wrap{max-width:100%}
  .profile-actions{justify-content:stretch}.profile-actions button{flex:1;min-width:0}.profile-details-form{padding:12px}.profile-details-grid{grid-template-columns:1fr}
  .proposal-row summary{overflow-wrap:anywhere}.proposal-content input,.proposal-content textarea,.proposal-content select{max-width:100%;min-width:0}.proposal-actions{min-width:0}.proposal-actions button,.proposal-actions select{width:100%}
  .community-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:0}.community-link{justify-content:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-forms{width:100%}
  .gamebar{gap:8px;flex-wrap:wrap}.gamebar .stats{width:100%;justify-content:space-between}.game-breadcrumb{font-size:12px;overflow-wrap:anywhere}
  .review-item,.user-challenge-row{overflow-wrap:anywhere}.challenge-score-compare{display:grid;grid-template-columns:1fr}.challenge-score-compare strong,.challenge-score-compare em{font-size:12px}
}
@media(max-width:380px){.shell{padding-left:7px;padding-right:7px}.header-actions{font-size:12px}.community-buttons{grid-template-columns:1fr}.game-mode-card{padding:12px}.card{padding:11px}}

.anti-spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.anti-spam-check{display:flex!important;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#f5fbf8}.anti-spam-check input{width:auto!important;min-width:18px}

.admin-user-challenges{margin:16px 0;padding:14px;border:2px solid #6b3fa0;border-radius:16px;background:#f5effb}.admin-user-challenges .admin-head{background:#eadcf5;padding:10px;border-radius:10px}.admin-user-challenges #adminAllChallengesList{max-height:520px;overflow-y:auto;margin-top:10px;padding-right:5px}.admin-user-challenge-row{padding:11px 12px;margin:8px 0;background:#fff;border:1px solid #d3b9e8;border-radius:10px;overflow-wrap:anywhere}.admin-user-challenge-row span,.admin-user-challenge-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.admin-user-challenge-row strong{color:#512b72}@media(max-width:700px){.admin-user-challenges .admin-head{align-items:stretch}.admin-user-challenges .admin-head button{width:100%}}

/* Classic Quiz difficulty selector — ready for the 450-question bank */
.comments-list{max-height:30rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.75rem;padding:.25rem .5rem .75rem 0;scrollbar-gutter:stable}
.comments-list .game-comment{flex:0 0 auto}
.profile-history,.private-content-box>div[id$="List"]{max-height:26rem;overflow-y:auto;overflow-x:hidden;padding:.25rem .5rem .75rem 0;scrollbar-gutter:stable}
.profile-history .rank,.private-content-box .private-item{flex:0 0 auto}
.classic-level-picker{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:.85rem 1rem;border:1px solid rgba(33,93,145,.2);border-radius:14px;background:linear-gradient(135deg,rgba(33,93,145,.08),rgba(255,255,255,.96));font-weight:700;color:#173b5c}
.classic-level-picker select{width:min(100%,260px);min-width:0;padding:.7rem .85rem;border:1px solid #9bb6ca;border-radius:10px;background:#fff;color:#173b5c;font:inherit}
@media(max-width:560px){.classic-level-picker{align-items:stretch;flex-direction:column}.classic-level-picker select{width:100%}}

/* Classic selection flow: step 3 matches the existing step 1/2 treatment. */
.step-three{margin-top:1.15rem}
.classic-level-picker{margin:.55rem 0 1rem;padding:.25rem 0;border:0;background:transparent;display:block}
.classic-level-picker select{display:block;width:100%;min-width:0;margin-top:.45rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.admin-activity-filter{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.admin-activity-filter select{min-width:260px;padding:.55rem;border-radius:8px}

/* Desktop social links: separate readable buttons instead of a single crowded line. */
@media (min-width:701px){footer .community-buttons{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:10px!important;width:min(900px,100%)!important;margin:10px auto 0!important}footer .community-link{justify-content:center!important;text-align:center!important;min-height:40px!important;border-radius:12px!important;white-space:nowrap!important;padding:10px 12px!important}footer .community-links{width:100%!important}footer .community-links>strong{display:block!important;margin-bottom:2px!important}}
