/* ══════════════ TOKENS ══════════════════════ */
:root{
  --ink:#07080a;--ink2:#0f1115;--ink3:#161a1f;--ink4:#1d2129;
  --wire:#22262d;--wire2:#2e333c;--wire3:#3a4050;
  --gold:#f0c040;--gold2:#ffd254;--gold3:#ffe896;--golddim:rgba(240,192,64,.11);
  --teal:#22d3c8;--teal2:#5ee8df;--tealdim:rgba(34,211,200,.1);
  --red:#f04545;--reddim:rgba(240,69,69,.1);
  --green:#30d476;--greendim:rgba(48,212,118,.1);
  --purple:#a78bfa;--purpledim:rgba(167,139,250,.1);
  --blue:#60a5fa;--bluedim:rgba(96,165,250,.1);
  --smoke:#8892a4;--smoke2:#525a68;--smoke3:#2a2f38;
  --mono:'JetBrains Mono',monospace;--ar:'Tajawal',sans-serif;
  --r:10px;--r2:6px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;background:var(--ink);color:#dde2ea;font-family:var(--ar);overflow:hidden;}

/* scanlines */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px);}

/* ══════ CURSOR TRAIL ══════ */
.cursor-dot{
  position:fixed;pointer-events:none;z-index:9998;
  width:6px;height:6px;border-radius:50%;
  background:var(--gold);opacity:.7;
  transform:translate(-50%,-50%);
  transition:opacity .4s;
}

/* ══════ FLOATING PARTICLES ══════ */
.particle{
  position:fixed;pointer-events:none;z-index:9997;
  width:5px;height:5px;border-radius:50%;
  animation:particleFly .8s ease-out forwards;
}
@keyframes particleFly{
  0%{opacity:1;transform:translate(0,0) scale(1);}
  100%{opacity:0;transform:translate(var(--px),var(--py)) scale(0);}
}

/* ══════ STREAK BADGE ══════ */
#streak-badge{
  position:fixed;top:80px;left:50%;transform:translateX(-50%);
  z-index:500;pointer-events:none;
  display:flex;align-items:center;gap:8px;
  background:rgba(7,8,10,.92);border:1px solid var(--gold);
  border-radius:40px;padding:7px 18px;
  font-family:var(--mono);font-weight:800;font-size:13px;color:var(--gold);
  letter-spacing:1px;
  opacity:0;transition:opacity .25s;
  box-shadow:0 0 24px rgba(240,192,64,.3);
}
#streak-badge.show{opacity:1;}
#streak-badge .s-fire{font-size:16px;}
#streak-badge .s-num{font-size:22px;line-height:1;}

/* ══════ COMBO POPUP ══════ */
.combo-pop{
  position:fixed;pointer-events:none;z-index:9996;
  font-family:var(--mono);font-weight:800;font-size:28px;
  color:var(--gold);text-shadow:0 0 20px rgba(240,192,64,.6);
  transform:translate(-50%,-50%);
  animation:comboPop .7s ease-out forwards;
  white-space:nowrap;
}
@keyframes comboPop{
  0%{opacity:1;transform:translate(-50%,-50%) scale(.8);}
  40%{opacity:1;transform:translate(-50%,-80%) scale(1.1);}
  100%{opacity:0;transform:translate(-50%,-130%) scale(.9);}
}

/* ══════ WORD COMPLETE BURST ══════ */
.burst-ring{
  position:fixed;pointer-events:none;z-index:9995;
  border-radius:50%;border:2px solid var(--gold);
  transform:translate(-50%,-50%) scale(0);
  animation:burstRing .5s ease-out forwards;
}
@keyframes burstRing{
  0%{transform:translate(-50%,-50%) scale(0);opacity:.9;}
  100%{transform:translate(-50%,-50%) scale(2.5);opacity:0;}
}

/* ══════ CONFETTI ══════ */
.confetti-piece{
  position:fixed;top:-10px;pointer-events:none;z-index:9994;
  width:8px;height:10px;border-radius:2px;
  animation:confettiFall var(--dur) ease-in forwards;
}
@keyframes confettiFall{
  0%{transform:translate(0,0) rotate(0deg);opacity:1;}
  100%{transform:translate(var(--dx),100vh) rotate(var(--rot));opacity:0;}
}

/* ══════ WPM LIVE GRAPH ══════ */
#wpm-graph-wrap{
  position:absolute;bottom:56px;left:0;right:0;height:40px;
  pointer-events:none;overflow:hidden;opacity:.55;z-index:1;
}
#wpm-graph-wrap canvas{width:100%;height:40px;}

/* ══════ MODE CARD ENHANCED HOVER ══════ */
.mode-card{cursor:pointer;}
.mode-card-glow{
  position:absolute;inset:0;pointer-events:none;
  border-radius:inherit;opacity:0;transition:opacity .3s;
}
.mc-speed .mode-card-glow{background:radial-gradient(ellipse at 50% 50%,rgba(240,192,64,.08),transparent 70%);}
.mc-learn .mode-card-glow{background:radial-gradient(ellipse at 50% 50%,rgba(34,211,200,.08),transparent 70%);}
.mc-quiz .mode-card-glow{background:radial-gradient(ellipse at 50% 50%,rgba(167,139,250,.08),transparent 70%);}
.mode-card:hover .mode-card-glow{opacity:1;}

/* ══════ CORRECT CHAR RIPPLE ══════ */
@keyframes charPop{
  0%{transform:scale(1);}
  50%{transform:scale(1.25);}
  100%{transform:scale(1);}
}
.cc-new{animation:charPop .12s ease-out;}

/* ══════ RESULTS ENHANCED ══════ */
@keyframes scoreRoll{from{transform:scale(.8) translateY(10px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
.r-wpm{animation:scoreRoll .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes cardReveal{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.r-card{animation:cardReveal .4s ease both;}
.r-card:nth-child(1){animation-delay:.1s;}
.r-card:nth-child(2){animation-delay:.18s;}
.r-card:nth-child(3){animation-delay:.26s;}
.r-card:nth-child(4){animation-delay:.34s;}

/* ══════ QUIZ ANSWER FEEDBACK ══════ */
.q-choice.correct{animation:correctPulse .45s ease;}
@keyframes correctPulse{
  0%{transform:scale(1);}
  35%{transform:scale(1.03);box-shadow:0 0 0 4px rgba(48,212,118,.25);}
  100%{transform:scale(1);}
}
.q-choice.wrong{animation:wrongShake .35s ease;}
@keyframes wrongShake{
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-6px);}
  50%{transform:translateX(5px);}
  80%{transform:translateX(-3px);}
}

/* ══════ LEARN PROGRESS GLOW ══════ */
.l-prog-fill{transition:width .4s cubic-bezier(.34,1.56,.64,1)!important;box-shadow:0 0 8px var(--teal);}

/* ══════ HOME ENTRY ANIMATION ══════ */
.hero-l{animation:fadeUp .5s ease both;}
.hero-r .mode-card:nth-child(1){animation:fadeUp .5s ease both .1s;opacity:0;animation-fill-mode:both;}
.hero-r .mode-card:nth-child(2){animation:fadeUp .5s ease both .2s;opacity:0;animation-fill-mode:both;}
.hero-r .mode-card:nth-child(3){animation:fadeUp .5s ease both .3s;opacity:0;animation-fill-mode:both;}

/* ══════════════ UTILS ═══════════════════════ */
.hidden{display:none!important;}
button{font-family:var(--ar);}

/* ══════════════════════════════════════════════
   SHARE MODAL SYSTEM
══════════════════════════════════════════════ */

/* ── BACKDROP ── */
#share-modal{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(4,5,7,.88);
  backdrop-filter:blur(18px);
  padding:20px;
  opacity:0;pointer-events:none;
  transition:opacity .3s cubic-bezier(.4,0,.2,1);
}
#share-modal.open{opacity:1;pointer-events:all;}

/* ── MODAL BOX ── */
.sm-box{
  width:100%;max-width:780px;
  background:var(--ink2);
  border:1px solid var(--wire2);
  border-radius:20px;
  overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(240,192,64,.08),
    0 40px 100px rgba(0,0,0,.8),
    0 0 60px rgba(240,192,64,.06);
  transform:translateY(20px) scale(.97);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  position:relative;
}
#share-modal.open .sm-box{transform:translateY(0) scale(1);}

/* gold top line */
.sm-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  z-index:2;
}

/* ── MODAL HEADER ── */
.sm-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px 14px;
  border-bottom:1px solid var(--wire);
}
.sm-head-left{display:flex;align-items:center;gap:12px;}
.sm-head-ico{
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,rgba(240,192,64,.15),rgba(240,192,64,.05));
  border:1px solid rgba(240,192,64,.25);
  display:grid;place-items:center;
}
.sm-head-ico svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;}
.sm-head-title{font-weight:900;font-size:17px;color:#fff;letter-spacing:-.3px;}
.sm-head-sub{font-size:11px;color:var(--smoke);margin-top:1px;font-family:var(--mono);letter-spacing:.5px;}
.sm-close{
  width:34px;height:34px;border-radius:8px;
  background:var(--ink3);border:1px solid var(--wire2);
  display:grid;place-items:center;cursor:pointer;
  color:var(--smoke2);transition:all .15s;
}
.sm-close:hover{border-color:var(--red);color:var(--red);}
.sm-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;}

/* ── MODAL BODY ── */
.sm-body{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0;
}

/* ── LEFT: CARD PREVIEW ── */
.sm-preview{
  padding:20px;
  border-left:1px solid var(--wire);
  display:flex;flex-direction:column;gap:16px;
}
.sm-preview-label{
  font-family:var(--mono);font-size:9px;letter-spacing:3px;
  color:var(--smoke2);text-transform:uppercase;
}

/* THE SHARE CARD */
.share-card{
  border-radius:14px;overflow:hidden;
  background:linear-gradient(135deg,#0d0f14 0%,#111419 50%,#0a0c10 100%);
  border:1px solid rgba(240,192,64,.2);
  box-shadow:0 0 0 1px rgba(240,192,64,.06),0 20px 50px rgba(0,0,0,.6);
  position:relative;
  aspect-ratio:4/5;
  display:flex;flex-direction:column;
  padding:20px;
  gap:12px;
}
/* subtle grid bg */
.share-card::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(240,192,64,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,192,64,.025) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
/* glow orb */
.share-card::after{
  content:'';position:absolute;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(240,192,64,.08),transparent 70%);
  top:-50px;right:-50px;pointer-events:none;
}

/* card header */
.sc-header{
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:1;
}
.sc-brand{
  display:flex;align-items:center;gap:8px;
}
.sc-brand-mark{
  width:30px;height:30px;border-radius:7px;
  background:linear-gradient(145deg,#2a2200,#1a1500);
  border:1px solid rgba(240,192,64,.4);
  display:grid;place-items:center;
  box-shadow:0 0 10px rgba(240,192,64,.15);
}
.sc-brand-mark svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;}
.sc-brand-name{
  font-weight:900;font-size:12px;color:#fff;
  font-family:var(--ar);
}
.sc-brand-name span{color:var(--gold);}
.sc-date{
  font-family:var(--mono);font-size:8px;color:var(--smoke2);
  letter-spacing:1px;
}

/* wpm display */
.sc-wpm-block{
  display:flex;flex-direction:column;align-items:center;
  flex:1;justify-content:center;
  position:relative;z-index:1;
}
.sc-session{
  font-family:var(--mono);font-size:9px;letter-spacing:4px;
  color:var(--smoke2);text-transform:uppercase;margin-bottom:6px;
}
.sc-wpm-num{
  font-family:var(--mono);font-weight:800;
  font-size:clamp(52px,14vw,80px);
  line-height:1;
  color:var(--gold);
  text-shadow:0 0 40px rgba(240,192,64,.5),0 0 80px rgba(240,192,64,.2);
  letter-spacing:-2px;
}
.sc-wpm-lbl{
  font-family:var(--mono);font-size:10px;letter-spacing:3px;
  color:var(--smoke);margin-top:4px;text-transform:uppercase;
}

/* stats row */
.sc-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:8px;position:relative;z-index:1;
}
.sc-stat{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:9px;
  padding:9px 6px;
  text-align:center;
}
.sc-stat-v{
  font-family:var(--mono);font-weight:800;font-size:16px;
  line-height:1;margin-bottom:3px;
}
.sc-stat-l{
  font-size:8px;color:var(--smoke2);
  font-family:var(--mono);letter-spacing:.5px;
}

/* rank */
.sc-rank{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:9px 14px;
  background:rgba(240,192,64,.06);
  border:1px solid rgba(240,192,64,.2);
  border-radius:10px;
  position:relative;z-index:1;
}
.sc-rank-emoji{font-size:16px;}
.sc-rank-name{
  font-family:var(--mono);font-weight:700;font-size:11px;color:var(--gold);
  letter-spacing:1px;
}
.sc-rank-xp{
  font-family:var(--mono);font-size:9px;color:var(--smoke2);margin-right:auto;
}

/* card footer */
.sc-footer{
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:1;
}
.sc-url{
  font-family:var(--mono);font-size:7.5px;color:var(--smoke2);
  letter-spacing:.5px;opacity:.5;
}
.sc-badge{
  font-family:var(--mono);font-size:7px;letter-spacing:2px;
  color:var(--gold);opacity:.4;text-transform:uppercase;
}

/* format selector */
.sm-fmt-row{
  display:flex;gap:6px;
}
.sm-fmt-btn{
  flex:1;padding:7px 10px;border-radius:8px;
  background:var(--ink3);border:1px solid var(--wire2);
  color:var(--smoke2);font-family:var(--mono);font-size:9px;font-weight:700;
  letter-spacing:.5px;cursor:pointer;transition:all .15s;text-align:center;
}
.sm-fmt-btn.active{
  background:rgba(240,192,64,.1);border-color:rgba(240,192,64,.4);
  color:var(--gold);
}

/* ── RIGHT: SHARE OPTIONS ── */
.sm-options{
  padding:20px;
  display:flex;flex-direction:column;gap:18px;
}
.sm-section-title{
  font-family:var(--mono);font-size:9px;letter-spacing:3px;
  color:var(--smoke2);text-transform:uppercase;
  display:flex;align-items:center;gap:8px;
}
.sm-section-title::after{
  content:'';flex:1;height:1px;background:var(--wire2);
}

/* copy text area */
.sm-copy-area{
  background:var(--ink3);border:1px solid var(--wire2);border-radius:10px;
  padding:12px;font-family:var(--mono);font-size:11px;color:var(--smoke);
  line-height:1.7;direction:rtl;
  max-height:70px;overflow:hidden;
  position:relative;
}
.sm-copy-area-text{white-space:pre-line;font-size:10px;}
.sm-copy-btn{
  width:100%;margin-top:8px;
  padding:10px;border-radius:8px;
  background:rgba(240,192,64,.1);border:1px solid rgba(240,192,64,.3);
  color:var(--gold);font-family:var(--ar);font-weight:700;font-size:13px;
  cursor:pointer;transition:all .18s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.sm-copy-btn:hover{background:rgba(240,192,64,.18);}
.sm-copy-btn.copied{background:rgba(48,212,118,.12);border-color:rgba(48,212,118,.35);color:var(--green);}
.sm-copy-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;}

/* social grid */
.sm-social-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;
}
.sm-soc-btn{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;border-radius:10px;
  border:1px solid;cursor:pointer;
  transition:all .2s cubic-bezier(.4,0,.2,1);
  text-decoration:none;
  position:relative;overflow:hidden;
}
.sm-soc-btn::before{
  content:'';position:absolute;inset:0;opacity:0;
  transition:opacity .2s;pointer-events:none;
}
.sm-soc-btn:hover{transform:translateY(-2px);}
.sm-soc-btn:hover::before{opacity:1;}
.sm-soc-ico{
  width:32px;height:32px;border-radius:8px;
  display:grid;place-items:center;flex-shrink:0;
}
.sm-soc-ico svg{width:16px;height:16px;}
.sm-soc-info{display:flex;flex-direction:column;gap:1px;}
.sm-soc-name{font-weight:800;font-size:12px;line-height:1.2;}
.sm-soc-sub{font-size:9px;opacity:.6;font-family:var(--mono);letter-spacing:.3px;}

/* whatsapp */
.sm-soc-wa{
  background:rgba(37,211,102,.06);border-color:rgba(37,211,102,.25);color:#25d366;
}
.sm-soc-wa::before{background:radial-gradient(ellipse at 50% 50%,rgba(37,211,102,.07),transparent);}
.sm-soc-wa:hover{border-color:rgba(37,211,102,.5);box-shadow:0 4px 20px rgba(37,211,102,.15);}
.sm-soc-wa .sm-soc-ico{background:rgba(37,211,102,.12);}

/* telegram */
.sm-soc-tg{
  background:rgba(0,136,204,.06);border-color:rgba(0,136,204,.25);color:#0088cc;
}
.sm-soc-tg::before{background:radial-gradient(ellipse at 50% 50%,rgba(0,136,204,.07),transparent);}
.sm-soc-tg:hover{border-color:rgba(0,136,204,.5);box-shadow:0 4px 20px rgba(0,136,204,.15);}
.sm-soc-tg .sm-soc-ico{background:rgba(0,136,204,.12);}

/* twitter/x */
.sm-soc-tw{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15);color:#fff;
}
.sm-soc-tw::before{background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.04),transparent);}
.sm-soc-tw:hover{border-color:rgba(255,255,255,.3);box-shadow:0 4px 20px rgba(255,255,255,.08);}
.sm-soc-tw .sm-soc-ico{background:rgba(255,255,255,.08);}

/* facebook */
.sm-soc-fb{
  background:rgba(24,119,242,.06);border-color:rgba(24,119,242,.25);color:#1877f2;
}
.sm-soc-fb::before{background:radial-gradient(ellipse at 50% 50%,rgba(24,119,242,.07),transparent);}
.sm-soc-fb:hover{border-color:rgba(24,119,242,.5);box-shadow:0 4px 20px rgba(24,119,242,.15);}
.sm-soc-fb .sm-soc-ico{background:rgba(24,119,242,.12);}

/* instagram */
.sm-soc-ig{
  background:rgba(193,53,132,.06);border-color:rgba(193,53,132,.25);color:#e1306c;
}
.sm-soc-ig::before{background:radial-gradient(ellipse at 50% 50%,rgba(193,53,132,.07),transparent);}
.sm-soc-ig:hover{border-color:rgba(193,53,132,.5);box-shadow:0 4px 20px rgba(193,53,132,.15);}
.sm-soc-ig .sm-soc-ico{background:linear-gradient(135deg,rgba(253,88,73,.15),rgba(193,53,132,.15));}

/* messenger */
.sm-soc-ms{
  background:rgba(0,135,249,.06);border-color:rgba(0,135,249,.25);color:#0087f9;
}
.sm-soc-ms::before{background:radial-gradient(ellipse at 50% 50%,rgba(0,135,249,.07),transparent);}
.sm-soc-ms:hover{border-color:rgba(0,135,249,.5);box-shadow:0 4px 20px rgba(0,135,249,.15);}
.sm-soc-ms .sm-soc-ico{background:rgba(0,135,249,.12);}

/* download img */
.sm-download-btn{
  width:100%;padding:12px;border-radius:10px;
  background:linear-gradient(135deg,rgba(240,192,64,.14),rgba(240,192,64,.06));
  border:1px solid rgba(240,192,64,.3);
  color:var(--gold);font-family:var(--ar);font-weight:900;font-size:14px;
  cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:10px;
  position:relative;overflow:hidden;
}
.sm-download-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.06),transparent);
  pointer-events:none;
}
.sm-download-btn:hover{
  background:linear-gradient(135deg,rgba(240,192,64,.22),rgba(240,192,64,.1));
  transform:translateY(-1px);
  box-shadow:0 6px 24px rgba(240,192,64,.2);
}
.sm-download-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;position:relative;z-index:1;}
.sm-download-btn span{position:relative;z-index:1;}

/* ── DEVICE FRAMES ── */
.sm-device-row{
  display:flex;align-items:flex-end;justify-content:center;gap:16px;
  padding:16px 20px;
  border-top:1px solid var(--wire);
  background:linear-gradient(180deg,var(--ink3),var(--ink2));
}

.device-laptop{
  position:relative;width:220px;
}
.device-laptop-screen{
  background:var(--ink);
  border-radius:8px 8px 0 0;
  border:2px solid var(--wire2);
  border-bottom:none;
  padding:6px;
  overflow:hidden;
}
.device-laptop-screen-inner{
  border-radius:4px;overflow:hidden;
  background:var(--ink2);
  aspect-ratio:16/10;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.device-laptop-base{
  height:10px;background:var(--wire2);border-radius:0 0 4px 4px;
  position:relative;
}
.device-laptop-base::before{
  content:'';position:absolute;
  bottom:0;left:50%;transform:translateX(-50%);
  width:40%;height:4px;background:var(--wire3);border-radius:0 0 3px 3px;
}

.device-phone{
  position:relative;width:70px;
}
.device-phone-frame{
  background:var(--wire2);border-radius:12px;
  padding:4px;border:1.5px solid var(--wire3);
  box-shadow:0 0 0 1px var(--wire),0 8px 20px rgba(0,0,0,.5);
}
.device-phone-screen{
  background:var(--ink2);border-radius:9px;overflow:hidden;
  aspect-ratio:9/16;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.device-phone-notch{
  position:absolute;top:5px;left:50%;transform:translateX(-50%);
  width:22px;height:3px;background:var(--wire3);border-radius:2px;
  z-index:2;
}

/* mini share card inside device frames */
.device-mini-card{
  width:100%;height:100%;
  background:linear-gradient(135deg,#0d0f14,#111419);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:6px;
  position:relative;
}
.device-mini-card::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(240,192,64,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,192,64,.03) 1px,transparent 1px);
  background-size:12px 12px;
}
.dmc-wpm{
  font-family:var(--mono);font-weight:800;font-size:18px;
  color:var(--gold);line-height:1;position:relative;z-index:1;
  text-shadow:0 0 12px rgba(240,192,64,.4);
}
.dmc-lbl{
  font-family:var(--mono);font-size:5px;color:var(--smoke2);
  letter-spacing:1.5px;text-transform:uppercase;position:relative;z-index:1;
}
.dmc-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:3px;width:100%;position:relative;z-index:1;
}
.dmc-stat{
  background:rgba(255,255,255,.04);border-radius:3px;
  padding:2px 3px;text-align:center;
}
.dmc-sv{font-family:var(--mono);font-size:6px;font-weight:700;color:#dde2ea;}
.dmc-sl{font-family:var(--mono);font-size:4px;color:var(--smoke2);}

/* phone mini card — taller aspect */
.phone-mini-card{
  width:100%;height:100%;
  background:linear-gradient(160deg,#0d0f14,#0a0c0f);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:8px 6px;
  position:relative;
}
.phone-mini-card::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(240,192,64,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,192,64,.04) 1px,transparent 1px);
  background-size:10px 10px;
}
.pmc-brand{
  font-family:var(--ar);font-weight:900;font-size:6px;color:var(--gold);
  letter-spacing:1px;position:relative;z-index:1;opacity:.7;
}
.pmc-wpm{
  font-family:var(--mono);font-weight:800;font-size:24px;
  color:var(--gold);line-height:1;position:relative;z-index:1;
  text-shadow:0 0 16px rgba(240,192,64,.5);
}
.pmc-lbl{
  font-family:var(--mono);font-size:5px;color:var(--smoke2);
  letter-spacing:1.5px;text-transform:uppercase;position:relative;z-index:1;
}
.pmc-divider{width:20px;height:1px;background:rgba(240,192,64,.2);position:relative;z-index:1;}
.pmc-row{
  display:flex;gap:5px;position:relative;z-index:1;
}
.pmc-stat{
  background:rgba(255,255,255,.04);border-radius:3px;
  padding:3px 5px;text-align:center;
}
.pmc-sv{font-family:var(--mono);font-size:7px;font-weight:700;color:#dde2ea;}
.pmc-sl{font-family:var(--mono);font-size:4px;color:var(--smoke2);}

/* share icon on results button */
.r-btn.share{
  background:linear-gradient(135deg,rgba(240,192,64,.14),rgba(240,192,64,.06)) !important;
  border:1px solid rgba(240,192,64,.35) !important;
  color:var(--gold) !important;
  position:relative;overflow:hidden;
}
.r-btn.share::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.06),transparent);
  pointer-events:none;
}
.r-btn.share:hover{
  background:linear-gradient(135deg,rgba(240,192,64,.24),rgba(240,192,64,.12)) !important;
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(240,192,64,.2) !important;
}

/* share icon button on nav/hud (achievement notifications) */
.share-trigger-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:8px;
  background:rgba(240,192,64,.1);border:1px solid rgba(240,192,64,.3);
  color:var(--gold);font-family:var(--ar);font-weight:700;font-size:12px;
  cursor:pointer;transition:all .18s;
}
.share-trigger-btn:hover{background:rgba(240,192,64,.18);}
.share-trigger-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.5;}

@media(max-width:640px){
  .sm-body{grid-template-columns:1fr;}
  .sm-preview{display:none;}
  .sm-social-grid{grid-template-columns:1fr 1fr;}
  .sm-device-row{display:none;}
  .sm-box{border-radius:14px;}
  .sm-head{padding:14px 16px 10px;}
  .sm-head-title{font-size:15px;}
  .sm-close{width:32px;height:32px;}
  .r-cards{grid-template-columns:repeat(2,1fr);}
}

/* ══════════════════════════════════════════════
   SAFE AREA — iPhone notch / Android cutout
══════════════════════════════════════════════ */
@supports(padding:max(0px)){
  body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);}
  #mob-kbd-wrap{padding-bottom:calc(10px + env(safe-area-inset-bottom));}
  #toast{bottom:calc(36px + env(safe-area-inset-bottom));}
  .h-nav,.gp-nav,.pick-nav{padding-top:calc(0px + env(safe-area-inset-top));}
  #xp-bar-wrap{top:env(safe-area-inset-top);}
}

/* ══════════════════════════════════════════════
   TOUCH DEVICE OPTIMIZATIONS
══════════════════════════════════════════════ */
@media(pointer:coarse){
  button,.l-btn,.r-btn,.gp-card,.pick-card,.q-choice,.q-opt,.l-side-item{
    cursor:default;
  }
  .l-side-item{min-height:44px;align-items:center;}
  .q-choice{min-height:48px;align-items:center;}
  .gp-card,.pick-card{min-height:100px;}
  .sm-soc-btn{min-height:56px;}
  .sm-download-btn{min-height:48px;}
  .l-btn{min-height:48px;}
  .r-btn{min-height:48px;}
}

/* ══════════════════════════════════════════════
   SCROLLBAR STYLING — clean on all devices
══════════════════════════════════════════════ */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--wire2);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--smoke2);}
*{scrollbar-width:thin;scrollbar-color:var(--wire2) transparent;}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes popIn{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:scale(1);}}
@keyframes shake{0%,100%{transform:translateX(0);}20%{transform:translateX(-7px);}50%{transform:translateX(6px);}80%{transform:translateX(-4px);}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes goldPulse{0%,100%{text-shadow:0 0 24px rgba(240,192,64,.5);}50%{text-shadow:0 0 48px rgba(240,192,64,.9),0 0 80px rgba(240,192,64,.3);}}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(.7);opacity:.4;}}
@keyframes slideIn{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:translateX(0);}}
@keyframes flashGreen{0%{border-color:var(--wire2);}40%{border-color:var(--green);box-shadow:0 0 0 3px var(--greendim);}100%{border-color:var(--wire2);}}
@keyframes barDance1{0%,100%{height:5px;}50%{height:10px;}}
@keyframes barDance2{0%,100%{height:9px;}40%{height:4px;}80%{height:12px;}}
@keyframes barDance3{0%,100%{height:12px;}35%{height:5px;}70%{height:10px;}}
@keyframes barDance4{0%,100%{height:7px;}55%{height:12px;}}
@keyframes barDance5{0%,100%{height:4px;}45%{height:9px;}}
#snd-btn.on .snd-bar:nth-child(1){animation:barDance1 .8s ease-in-out infinite;}
#snd-btn.on .snd-bar:nth-child(2){animation:barDance2 .7s ease-in-out infinite .1s;}
#snd-btn.on .snd-bar:nth-child(3){animation:barDance3 .9s ease-in-out infinite .05s;}
#snd-btn.on .snd-bar:nth-child(4){animation:barDance4 .75s ease-in-out infinite .15s;}
#snd-btn.on .snd-bar:nth-child(5){animation:barDance5 .85s ease-in-out infinite .08s;}

/* ══════════════════════════════════════════════
   HOME
══════════════════════════════════════════════ */
#s-home{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--ink);overflow:hidden;}

/* NAV */
.h-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:64px;border-bottom:1px solid var(--wire);
  background:rgba(7,8,10,.96);backdrop-filter:blur(24px);
  flex-shrink:0;position:relative;z-index:2;
}
/* subtle gold line at very top of nav */
.h-nav::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,192,64,.35),transparent);
  pointer-events:none;
}

/* ─── BRAND ─── */
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;cursor:default;user-select:none;}

/* orbit wrapper — no ring */
.brand-orbit{
  position:relative;width:44px;height:44px;flex-shrink:0;
}

.brand-mark{
  width:44px;height:44px;border-radius:11px;
  background:linear-gradient(145deg,#2a2200 0%,#1a1500 40%,#0d0d00 100%);
  display:grid;place-items:center;position:relative;overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(240,192,64,.45),
    0 0 16px rgba(240,192,64,.18),
    inset 0 1px 0 rgba(255,255,255,.06);
}
/* gold shimmer sweep */
.brand-mark::before{
  content:'';position:absolute;
  top:-50%;left:-60%;width:40%;height:200%;
  background:linear-gradient(105deg,transparent,rgba(240,192,64,.18),transparent);
  animation:brandShimmer 4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes brandShimmer{
  0%,100%{left:-60%;opacity:0;}
  30%{opacity:1;}
  60%{left:130%;opacity:0;}
}
/* inner glow */
.brand-mark::after{
  content:'';position:absolute;inset:0;border-radius:11px;
  background:radial-gradient(ellipse at 40% 30%,rgba(240,192,64,.12),transparent 65%);
  pointer-events:none;
}
.brand-mark svg{
  width:20px;height:20px;fill:none;
  stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  position:relative;z-index:1;
  filter:drop-shadow(0 0 4px rgba(240,192,64,.6));
}

/* text block */
.brand-text{display:flex;flex-direction:column;gap:2px;}
.brand-ar{
  font-weight:900;font-size:17px;
  color:#fff;letter-spacing:-.5px;line-height:1.1;
  text-shadow:0 0 20px rgba(255,255,255,.15);
}
/* highlighted last char */
.brand-ar span{color:var(--gold);text-shadow:0 0 12px rgba(240,192,64,.5);}
.brand-en-wrap{display:flex;align-items:center;gap:5px;}
.brand-en{
  font-family:var(--mono);font-size:8px;
  background:linear-gradient(90deg,var(--gold),#ffe896);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  letter-spacing:4px;font-weight:800;text-transform:uppercase;
}
.brand-en-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.5;animation:dotPulse 2s ease infinite;}

/* ─── NAV RIGHT ─── */
.h-nav-right{display:flex;align-items:center;gap:6px;}

/* ─── SOUND BUTTON ─── */
.snd-wrap{
  display:flex;align-items:center;gap:0;
  background:var(--ink3);border:1px solid var(--wire2);
  border-radius:8px;overflow:hidden;
  transition:border-color .15s;
}
.snd-wrap:hover{border-color:var(--gold);}
#snd-btn{
  display:flex;align-items:center;gap:5px;
  padding:6px 12px;background:transparent;border:none;
  color:var(--smoke2);font-family:var(--mono);font-size:9px;font-weight:700;
  cursor:pointer;letter-spacing:1px;transition:color .15s;
}
#snd-btn:hover,#snd-btn.on{color:var(--gold);}
.snd-bars{display:flex;align-items:flex-end;gap:2px;height:12px;margin-left:1px;}
.snd-bar{width:2.5px;border-radius:1px;background:currentColor;transition:height .15s;}
.snd-bar:nth-child(1){height:5px;}
.snd-bar:nth-child(2){height:9px;}
.snd-bar:nth-child(3){height:12px;}
.snd-bar:nth-child(4){height:7px;}
.snd-bar:nth-child(5){height:4px;}
#snd-btn.muted .snd-bar{height:3px!important;opacity:.35;}

/* ─── NAV LINKS ─── */
.ext-link{
  display:flex;align-items:center;gap:7px;
  padding:6px 14px;border-radius:8px;
  border:1px solid var(--wire2);
  background:var(--ink3);
  color:var(--smoke);font-family:var(--mono);font-size:10px;font-weight:700;
  text-decoration:none;letter-spacing:.4px;
  transition:all .18s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
}
.ext-link::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold),#e08a00);
  opacity:0;transition:opacity .18s;
}
.ext-link:hover{border-color:var(--gold);color:var(--ink);transform:translateY(-1px);box-shadow:0 4px 16px rgba(240,192,64,.2);}
.ext-link:hover::before{opacity:1;}
.ext-link:hover .ext-ico{color:var(--ink);}
.ext-link:hover .ext-sub{color:var(--ink);opacity:.8;}
.ext-link span,.ext-link .lbl{position:relative;z-index:1;}
.ext-text{display:flex;flex-direction:column;gap:1px;position:relative;z-index:1;}
.ext-text .lbl{font-size:10px;font-weight:700;line-height:1.2;}
.ext-sub{font-size:8px;font-weight:400;color:var(--smoke2);letter-spacing:.2px;opacity:.65;transition:color .18s,opacity .18s;}
.ext-ico{
  width:15px;height:15px;flex-shrink:0;
  position:relative;z-index:1;color:currentColor;transition:color .18s;
  display:grid;place-items:center;
}
.ext-ico svg{width:15px;height:15px;}

/* HERO */
.h-hero{flex:1;display:flex;align-items:stretch;position:relative;overflow:hidden;min-height:0;}
.h-hero::before{content:'';position:absolute;width:800px;height:800px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(240,192,64,.06) 0%,transparent 65%);
  right:-8%;top:50%;transform:translateY(-50%);pointer-events:none;}
.h-hero::after{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:52px 52px;pointer-events:none;}

.hero-grid{display:grid;grid-template-columns:1fr 420px;width:100%;position:relative;z-index:1;}

/* LEFT */
.hero-l{
  display:flex;flex-direction:column;justify-content:center;
  padding:48px 60px;border-left:1px solid var(--wire);
}
.hero-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--gold);
  text-transform:uppercase;margin-bottom:24px;
  background:var(--golddim);border:1px solid rgba(240,192,64,.22);
  border-radius:20px;padding:5px 14px;width:fit-content;
}
.hero-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:dotPulse 2s ease infinite;}
.hero-title{font-weight:900;font-size:clamp(46px,5.5vw,76px);line-height:1;color:#fff;letter-spacing:-2px;margin-bottom:4px;}
.hero-accent{color:var(--gold);display:block;animation:goldPulse 4s ease-in-out infinite;}
.hero-term{
  display:inline-flex;align-items:center;font-family:var(--mono);font-size:13px;
  background:var(--ink2);border:1px solid var(--wire2);border-radius:7px;overflow:hidden;
  margin:20px 0 18px;width:fit-content;
}
.term-ps{background:var(--ink3);border-left:1px solid var(--wire2);padding:9px 14px;color:var(--gold);font-weight:700;}
.term-cmd{padding:9px 16px;color:var(--smoke);}
.term-cur{display:inline-block;width:8px;height:14px;background:var(--gold);border-radius:1px;vertical-align:middle;animation:blink .9s step-end infinite;}
.hero-desc{font-size:15px;color:var(--smoke);line-height:1.9;max-width:440px;font-weight:500;}

/* RIGHT — mode cards */
.hero-r{
  display:flex;flex-direction:column;
  border-left:1px solid var(--wire);background:rgba(15,17,21,.7);
}
.mode-card{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:28px 32px;cursor:pointer;position:relative;overflow:hidden;
  transition:background .2s;border-bottom:1px solid var(--wire);
  text-align:right;
}
.mode-card:last-child{border-bottom:none;}

/* sweep glow from right in RTL */
.mode-card::after{
  content:'';position:absolute;top:0;left:0;bottom:0;
  width:0;opacity:.12;transition:width .3s ease;pointer-events:none;
}
.mode-card:hover{background:rgba(255,255,255,.025);}
.mode-card:hover::after{width:100%;}
.mc-speed::after{background:linear-gradient(270deg,var(--gold),transparent);}
.mc-learn::after{background:linear-gradient(270deg,var(--teal),transparent);}
.mc-quiz::after{background:linear-gradient(270deg,var(--purple),transparent);}

/* header row: tag right, icon left */
.mc-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
  flex-direction:row-reverse;
}
.mc-icon{
  width:38px;height:38px;border-radius:9px;
  display:grid;place-items:center;flex-shrink:0;
}
.mc-icon svg{width:19px;height:19px;}
.mc-tag{
  font-family:var(--mono);font-size:9.5px;font-weight:700;
  letter-spacing:1.5px;padding:3px 10px;border-radius:20px;
  border:1px solid;text-transform:uppercase;
}
.mc-title{
  font-weight:900;font-size:18px;color:#fff;
  margin-bottom:5px;line-height:1.25;
}
.mc-desc{
  font-size:13px;color:var(--smoke);line-height:1.75;
}
.mc-cta{
  display:inline-flex;align-items:center;gap:6px;
  justify-content:flex-end;
  margin-top:14px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:1px;font-weight:700;
  opacity:0;transform:translateX(-6px);transition:all .22s;
}
.mc-cta svg{width:13px;height:13px;flex-shrink:0;}
.mode-card:hover .mc-cta{opacity:1;transform:translateX(0);}

/* STAGE BAR — HIDDEN NOW (replaced by pick screen) */
.h-stages{ display:none; }
.stages-label,.spill,.spill-sep{ display:none; }

/* ══════════════════════════════════════════════
   GAME PICK SCREEN — Full stage selector (Enhanced v9)
══════════════════════════════════════════════ */
#g-pick{
  position:fixed;inset:0;background:var(--ink);z-index:50;
  display:flex;flex-direction:column;animation:fadeUp .35s cubic-bezier(.34,1.2,.64,1);
  overflow:hidden;
}
#g-pick.hidden{display:none!important;}

/* animated grid BG */
#g-pick::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(240,192,64,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,192,64,.025) 1px,transparent 1px);
  background-size:44px 44px;
}
/* gold glow blob top-left */
#g-pick::after{
  content:'';position:absolute;top:-200px;right:-100px;width:600px;height:600px;
  border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse,rgba(240,192,64,.07) 0%,transparent 65%);
}

/* NAV */
.gp-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:64px;border-bottom:1px solid var(--wire);
  background:rgba(7,8,10,.96);backdrop-filter:blur(24px);
  flex-shrink:0;position:relative;z-index:2;
}
.gp-nav::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,192,64,.5),transparent);
}
.gp-nav-left{display:flex;align-items:center;gap:16px;}
.gp-title-row{display:flex;align-items:center;gap:10px;}
.gp-title-ico{
  width:34px;height:34px;border-radius:9px;
  background:linear-gradient(145deg,rgba(240,192,64,.2),rgba(240,192,64,.08));
  border:1px solid rgba(240,192,64,.35);
  display:grid;place-items:center;
  box-shadow:0 0 14px rgba(240,192,64,.18);
}
.gp-title-ico svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2.2;
  filter:drop-shadow(0 0 4px rgba(240,192,64,.5));}
.gp-title{font-weight:900;font-size:20px;color:#fff;letter-spacing:-.3px;}
.gp-title em{color:var(--gold);font-style:normal;text-shadow:0 0 20px rgba(240,192,64,.4);}
.gp-badge{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:2.5px;
  padding:4px 12px;border-radius:20px;text-transform:uppercase;
  background:rgba(240,192,64,.1);border:1px solid rgba(240,192,64,.3);color:var(--gold);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.gp-back{
  display:flex;align-items:center;gap:6px;padding:8px 20px;
  background:var(--ink3);border:1px solid var(--wire2);color:var(--smoke2);
  font-family:var(--ar);font-weight:700;font-size:13px;border-radius:8px;cursor:pointer;
  transition:all .18s;box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.gp-back svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.gp-back:hover{border-color:var(--gold);color:var(--gold);background:rgba(240,192,64,.06);}

/* ── HERO STRIP ── */
.gp-header{
  display:flex;align-items:stretch;justify-content:space-between;
  gap:0;padding:0;flex-shrink:0;position:relative;z-index:1;
  border-bottom:1px solid var(--wire);
  background:linear-gradient(180deg,rgba(15,17,21,.9) 0%,rgba(7,8,10,.6) 100%);
}

/* LEFT: title + subtitle */
.gp-hero{
  flex:1;min-width:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:28px;padding:20px 52px;
}
.gp-hero-text{min-width:0;}
.gp-hero-h{
  font-weight:900;font-size:30px;color:#fff;letter-spacing:-.5px;line-height:1.1;
}
.gp-hero-h span{
  color:var(--gold);
  text-shadow:0 0 28px rgba(240,192,64,.45);
}
.gp-hero-sub{font-size:13px;color:var(--smoke);margin-top:6px;line-height:1.7;max-width:460px;}

/* stats pills */
.gp-stats-row{display:flex;gap:10px;flex-shrink:0;}
.gp-stat{
  display:flex;align-items:center;gap:10px;
  padding:10px 18px;
  background:var(--ink2);border:1px solid var(--wire2);border-radius:10px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transition:border-color .18s,box-shadow .18s;
}
.gp-stat:hover{border-color:rgba(240,192,64,.25);box-shadow:0 4px 18px rgba(240,192,64,.1);}
.gp-stat-ico{
  width:28px;height:28px;border-radius:7px;
  display:grid;place-items:center;flex-shrink:0;
}
.gp-stat-ico svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.gp-stat-body{}
.gp-stat-v{font-family:var(--mono);font-size:18px;font-weight:800;line-height:1;}
.gp-stat-l{font-size:9px;color:var(--smoke2);margin-top:2px;letter-spacing:.5px;}

/* RIGHT: all-stages button */
.gp-side{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  width:340px;flex-shrink:0;padding:16px 24px;
  border-right:1px solid var(--wire);
  background:rgba(7,8,10,.4);
}
.gp-all-wrap{display:flex;flex-direction:column;gap:0;width:100%;}
.gp-sep{display:none;}
.gp-tip{
  font-size:11px;color:var(--smoke2);margin-top:10px;text-align:center;
  letter-spacing:.3px;opacity:.7;
}

/* THE "الكل" big button */
.gp-all-btn{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 18px;border-radius:12px;cursor:pointer;
  border:1.5px solid var(--wire2);
  background:linear-gradient(135deg,var(--ink3),var(--ink2));
  transition:all .2s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
}
.gp-all-btn::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 60% 50%,rgba(240,192,64,.1),transparent 70%);
  opacity:0;transition:opacity .25s;
}
.gp-all-btn:hover::before,.gp-all-btn.active::before{opacity:1;}
.gp-all-btn:hover,.gp-all-btn.active{
  border-color:var(--gold);
  box-shadow:0 0 0 1px rgba(240,192,64,.2),0 8px 24px rgba(240,192,64,.15);
  transform:translateY(-1px);
  background:linear-gradient(135deg,rgba(240,192,64,.06),var(--ink2));
}
.gp-all-ico{
  width:36px;height:36px;border-radius:9px;
  background:rgba(240,192,64,.12);border:1px solid rgba(240,192,64,.25);
  display:grid;place-items:center;flex-shrink:0;position:relative;z-index:1;
  box-shadow:0 0 10px rgba(240,192,64,.12);
}
.gp-all-ico svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:2;}
.gp-all-info{text-align:right;position:relative;z-index:1;flex:1;}
.gp-all-name{font-weight:900;font-size:15px;color:#fff;}
.gp-all-sub{font-family:var(--mono);font-size:10px;color:var(--smoke2);margin-top:3px;}

/* GRID */
.gp-grid{
  flex:1;overflow-y:auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  grid-auto-rows:minmax(148px,auto);
  gap:14px;padding:18px 52px 24px;
  align-content:start;
  position:relative;z-index:1;
}
.gp-grid::-webkit-scrollbar{width:4px;}
.gp-grid::-webkit-scrollbar-thumb{background:var(--wire2);border-radius:2px;}
.gp-grid::-webkit-scrollbar-track{background:transparent;}

/* STAGE CARD */
.gp-card{
  background:var(--ink2);
  border:1.5px solid var(--wire2);
  border-radius:14px;
  padding:20px 22px;cursor:pointer;
  transition:all .22s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:10px;
  animation:cardReveal .4s ease both;
}
/* top glow on hover */
.gp-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gc,var(--gold)),transparent);
  opacity:0;transition:opacity .3s;
}
.gp-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 50% -20%,var(--gc,rgba(240,192,64,.1)),transparent 65%);
  opacity:0;transition:opacity .25s;pointer-events:none;
}
.gp-card:hover::before,.gp-card.active::before{opacity:1;}
.gp-card:hover::after,.gp-card.active::after{opacity:1;}
.gp-card:hover{
  transform:translateY(-3px);
  border-color:var(--gc,var(--gold));
  box-shadow:0 14px 44px rgba(0,0,0,.55),0 0 0 1px var(--gc,rgba(240,192,64,.15));
}
.gp-card.active{
  border-color:var(--gc,var(--gold));
  box-shadow:0 0 0 2px var(--gc,var(--gold)),0 14px 44px rgba(0,0,0,.55);
}
.gp-card-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  position:relative;z-index:1;
}
.gp-card-ico{
  width:40px;height:40px;border-radius:10px;
  display:grid;place-items:center;flex-shrink:0;
  box-shadow:0 0 12px rgba(0,0,0,.4);
}
.gp-card-ico svg{width:19px;height:19px;}
.gp-card-badge{
  font-family:var(--mono);font-size:9.5px;font-weight:700;
  padding:3px 10px;border-radius:20px;border:1px solid;letter-spacing:.5px;
  position:relative;z-index:1;
}
.gp-card-body{position:relative;z-index:1;}
.gp-card-name{
  font-weight:900;font-size:14px;color:#fff;margin-bottom:4px;
  line-height:1.3;
}
.gp-card-desc{font-size:11.5px;color:var(--smoke);line-height:1.65;}
/* subtle bottom bar indicator */
.gp-card-bar{
  display:block;height:2px;border-radius:2px;
  background:var(--wire2);overflow:hidden;flex-shrink:0;margin-top:auto;
}
.gp-card-bar-fill{
  height:100%;border-radius:2px;
  background:var(--gc,var(--gold));
  width:100%;opacity:.35;
  transition:opacity .2s;
}
.gp-card:hover .gp-card-bar-fill,.gp-card.active .gp-card-bar-fill{opacity:.7;}

/* START banner at bottom */
.gp-start-wrap{
  flex-shrink:0;padding:14px 52px;
  border-top:1px solid var(--wire);
  background:linear-gradient(180deg,rgba(13,15,17,.95) 0%,rgba(7,8,10,.98) 100%);
  backdrop-filter:blur(24px);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  position:relative;z-index:2;
}
.gp-start-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(240,192,64,.2),transparent);
}
.gp-sel-info{display:flex;align-items:center;gap:12px;}
.gp-sel-dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold);
  animation:dotPulse 2s infinite;
  box-shadow:0 0 8px rgba(240,192,64,.5);
}
.gp-sel-txt{font-size:13px;color:var(--smoke);}
.gp-sel-stage{font-weight:800;color:#fff;}
.gp-start-btn{
  display:flex;align-items:center;gap:10px;
  padding:13px 36px;border-radius:10px;cursor:pointer;
  background:linear-gradient(135deg,var(--gold2),#d07a00 120%);
  color:var(--ink);font-family:var(--ar);font-weight:900;font-size:15px;
  border:none;transition:all .22s cubic-bezier(.4,0,.2,1);
  box-shadow:0 4px 20px rgba(240,192,64,.4),inset 0 1px 0 rgba(255,255,255,.2);
  position:relative;overflow:hidden;
}
.gp-start-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 55%);
  opacity:1;
}
.gp-start-btn::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 120%,rgba(255,255,255,.15),transparent 65%);
  opacity:0;transition:opacity .2s;
}
.gp-start-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 32px rgba(240,192,64,.55),inset 0 1px 0 rgba(255,255,255,.2);
}
.gp-start-btn:hover::after{opacity:1;}
.gp-start-btn svg{
  width:16px;height:16px;stroke:currentColor;fill:currentColor;
  stroke-width:0;position:relative;z-index:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));
}
.gp-start-btn span{position:relative;z-index:1;}

/* FOOTER */
.h-footer{
  flex-shrink:0;border-top:1px solid var(--wire);
  background:linear-gradient(180deg,var(--ink2) 0%,var(--ink) 100%);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:44px;position:relative;
}
.h-footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(240,192,64,.15) 30%,rgba(240,192,64,.15) 70%,transparent 100%);
}
.foot-links{display:flex;align-items:center;gap:2px;}
.foot-link{
  display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;
  color:var(--smoke);text-decoration:none;font-family:var(--mono);font-size:9.5px;font-weight:700;
  letter-spacing:.3px;transition:all .15s;border:1px solid transparent;
  position:relative;
}
.foot-link:hover{color:var(--gold);background:var(--golddim);border-color:rgba(240,192,64,.18);}
.foot-link .f-ico{width:13px;height:13px;flex-shrink:0;display:grid;place-items:center;}
.foot-link .f-ico svg{width:13px;height:13px;}
.foot-link .foot-lbl{font-size:10px;font-weight:700;color:inherit;}
.foot-link .foot-sub{font-size:8px;font-weight:400;color:var(--smoke2);letter-spacing:.2px;opacity:.7;}
.foot-link:hover .foot-sub{opacity:1;color:var(--gold);}
.foot-link .foot-lbl{font-size:10px;font-weight:700;}
.foot-link .foot-sub{font-size:8px;font-weight:400;color:var(--smoke2);letter-spacing:.2px;opacity:.7;margin-right:3px;}
.foot-link:hover .foot-sub{opacity:1;color:var(--gold);}
.foot-sep{width:1px;height:18px;background:var(--wire2);margin:0 4px;flex-shrink:0;}
.foot-right{display:flex;align-items:center;gap:10px;}
.foot-copy{font-family:var(--mono);font-size:8.5px;color:var(--smoke3);letter-spacing:1.5px;text-transform:uppercase;opacity:.5;}
.foot-badge{
  display:flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:2px;
  color:var(--gold);opacity:.45;text-transform:uppercase;
}
.foot-badge-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);animation:dotPulse 3s ease infinite;}

/* ══════════════════════════════════════════════
   GAME SCREEN
══════════════════════════════════════════════ */
#s-game{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;}
#s-game.hidden{display:none!important;}

/* HUD */
.g-hud{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;padding:0 44px;height:68px;
  border-bottom:1px solid var(--wire);background:var(--ink2);
  gap:0;flex-shrink:0;
}
/* timer */
.g-timer-wrap{display:flex;align-items:baseline;gap:5px;padding-left:28px;border-left:1px solid var(--wire2);}
.g-timer{
  font-family:var(--mono);font-weight:800;font-size:44px;
  color:var(--gold);line-height:1;letter-spacing:2px;
  text-shadow:0 0 24px rgba(240,192,64,.4);transition:color .3s;
}
.g-timer.red{color:var(--red);text-shadow:0 0 24px rgba(240,69,69,.5);animation:tick .5s ease infinite alternate;}
@keyframes tick{from{transform:scale(1);}to{transform:scale(1.03);}}
.g-timer-lbl{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:3px;text-transform:uppercase;}

/* center stats */
.g-stats{display:flex;height:100%;}
.g-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 28px;border-right:1px solid var(--wire);height:100%;
}
.g-stat:first-child{border-left:1px solid var(--wire);}
.g-stat-v{font-family:var(--mono);font-weight:800;font-size:24px;color:var(--gold3);line-height:1;}
.g-stat-l{font-size:10px;color:var(--smoke2);font-weight:700;margin-top:3px;letter-spacing:.5px;}

/* back btn */
.g-back-wrap{display:flex;align-items:center;justify-content:flex-end;padding-right:0;padding-left:28px;border-right:1px solid var(--wire2);}
.g-back{
  display:flex;align-items:center;gap:6px;
  font-family:var(--ar);font-weight:700;font-size:13px;
  padding:8px 18px;background:transparent;border:1px solid var(--wire2);
  color:var(--smoke2);border-radius:6px;cursor:pointer;transition:all .15s;
}
.g-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
.g-back:hover{border-color:var(--red);color:var(--red);}

/* progress */
.g-prog{height:2px;background:var(--ink3);flex-shrink:0;}
.g-prog-fill{height:100%;background:var(--gold);transition:width 1s linear;box-shadow:0 0 6px var(--gold);}
.g-prog-fill.red{background:var(--red);box-shadow:0 0 6px var(--red);}

/* ARENA */
.g-arena{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 48px;gap:20px;position:relative;overflow:hidden;}
.g-arena::before{
  content:attr(data-n);position:absolute;
  font-family:var(--mono);font-weight:800;font-size:min(38vw,340px);
  color:rgba(240,192,64,.022);right:-2vw;bottom:-6%;
  line-height:1;pointer-events:none;user-select:none;
}

.g-card{
  width:100%;max-width:820px;
  background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;
  overflow:hidden;box-shadow:0 20px 70px rgba(0,0,0,.7);
  animation:popIn .22s ease;
}
.g-card-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 18px;background:var(--ink3);border-bottom:1px solid var(--wire);
}
.g-dots{display:flex;gap:6px;}
.g-dot{width:9px;height:9px;border-radius:50%;}
.g-prompt{font-family:var(--mono);font-size:11px;color:var(--smoke2);}
.g-prompt .pg{color:var(--gold);}
.g-prompt .pt{color:var(--teal);}
.g-badge{font-family:var(--mono);font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;border:1px solid;letter-spacing:.4px;}

.g-body{padding:26px 26px 22px;}
.g-typed{
  direction:ltr;text-align:left;font-family:var(--mono);font-weight:700;
  font-size:clamp(20px,3.2vw,34px);letter-spacing:2px;line-height:1.4;
  white-space:pre-wrap;word-break:break-all;min-height:46px;margin-bottom:18px;
}
.g-desc-box{
  background:var(--ink3);border-radius:7px;border:1px solid var(--wire);
  padding:11px 15px;font-size:14px;color:var(--smoke);font-weight:700;text-align:right;
}
.g-desc-tag{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;display:block;}

.g-next-strip{
  width:100%;max-width:820px;display:flex;align-items:center;gap:12px;
  padding:10px 16px;background:var(--ink2);border:1px solid var(--wire);border-radius:7px;
  animation:slideIn .2s ease;
}
.g-next-lbl{font-family:var(--ar);font-weight:900;font-size:11px;color:var(--smoke2);white-space:nowrap;}
.g-next-cmd{font-family:var(--mono);font-size:13px;color:var(--smoke);direction:ltr;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* bottom footer */
.g-foot{
  flex-shrink:0;display:flex;gap:0;border-top:1px solid var(--wire);background:var(--ink2);
}
.g-foot-s{flex:1;text-align:center;padding:10px 0;border-right:1px solid var(--wire);}
.g-foot-s:last-child{border-right:none;}
.g-foot-v{font-family:var(--mono);font-weight:800;font-size:18px;display:block;}
.g-foot-l{font-size:10px;color:var(--smoke2);font-weight:700;margin-top:2px;display:block;}

/* char colors */
.cc{color:var(--teal2);text-shadow:0 0 8px rgba(94,232,223,.45);}
.cw{color:var(--red);background:rgba(240,69,69,.1);border-radius:2px;}
.cur{color:var(--ink);background:var(--gold);border-radius:2px;animation:blink .65s step-end infinite;}
.cp{color:var(--smoke3);}
.shake-card{animation:shake .28s ease;}
.flash-card{animation:flashGreen .5s ease;}

/* ══════════════════════════════════════════════
   LEARN SCREEN
══════════════════════════════════════════════ */
#s-learn{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;}
#s-learn.hidden{display:none!important;}

/* ══════════════════════════════════════════════
   LEARN PICKER — mirrors Speed (g-pick) design
══════════════════════════════════════════════ */
#l-pick{
  position:absolute;inset:0;background:var(--ink);z-index:10;
  display:flex;flex-direction:column;animation:fadeUp .3s ease;
}
#l-pick.hidden{display:none!important;}

/* NAV — same as gp-nav */
.pick-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:64px;border-bottom:1px solid var(--wire);
  background:rgba(7,8,10,.96);backdrop-filter:blur(20px);flex-shrink:0;
  position:relative;
}
.pick-nav::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,211,200,.4),transparent);
  pointer-events:none;
}
.pick-nav-left{display:flex;align-items:center;gap:16px;}
.pick-title-row{display:flex;align-items:center;gap:10px;}
.pick-title-ico{
  width:32px;height:32px;border-radius:8px;
  background:rgba(34,211,200,.12);border:1px solid rgba(34,211,200,.3);
  display:grid;place-items:center;
  box-shadow:0 0 12px rgba(34,211,200,.15);
}
.pick-title-ico svg{width:16px;height:16px;stroke:var(--teal);fill:none;stroke-width:2;}
.pick-title{font-weight:900;font-size:20px;color:#fff;letter-spacing:-.3px;}
.pick-title em{color:var(--teal);font-style:normal;text-shadow:0 0 20px rgba(34,211,200,.5);}
.pick-mode-badge{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:2px;
  padding:3px 12px;border-radius:20px;
  background:rgba(34,211,200,.1);border:1px solid rgba(34,211,200,.3);
  color:var(--teal);text-transform:uppercase;
}
.pick-back{
  display:flex;align-items:center;gap:6px;padding:7px 18px;
  background:transparent;border:1px solid var(--wire2);color:var(--smoke2);
  font-family:var(--ar);font-weight:700;font-size:13px;border-radius:6px;cursor:pointer;transition:all .15s;
}
.pick-back svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.pick-back:hover{border-color:var(--gold);color:var(--gold);}

/* HEADER BAND — same as gp-header */
.pick-header{
  display:flex;align-items:stretch;border-bottom:1px solid var(--wire);
  background:rgba(7,8,10,.5);flex-shrink:0;position:relative;z-index:1;
}
.pick-hero{
  flex:1;min-width:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:28px;padding:20px 52px;
}
.pick-hero-text{min-width:0;}
.pick-hero-h{font-weight:900;font-size:30px;color:#fff;letter-spacing:-.5px;line-height:1.1;}
.pick-hero-h span{color:var(--teal);text-shadow:0 0 28px rgba(34,211,200,.45);}
.pick-hero-sub{font-size:13px;color:var(--smoke);margin-top:6px;line-height:1.7;max-width:460px;}

/* stats pills */
.pick-stats-row{display:flex;gap:10px;flex-shrink:0;}
.pick-stat{
  display:flex;align-items:center;gap:10px;
  padding:10px 18px;
  background:var(--ink2);border:1px solid var(--wire2);border-radius:10px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  transition:border-color .18s,box-shadow .18s;
}
.pick-stat:hover{border-color:rgba(34,211,200,.25);box-shadow:0 4px 18px rgba(34,211,200,.1);}
.pick-stat-ico{
  width:28px;height:28px;border-radius:7px;
  display:grid;place-items:center;flex-shrink:0;
}
.pick-stat-ico svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.pick-stat-v{font-family:var(--mono);font-size:18px;font-weight:800;line-height:1;}
.pick-stat-l{font-size:9px;color:var(--smoke2);margin-top:2px;letter-spacing:.5px;}

/* RIGHT side */
.pick-side{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  width:340px;flex-shrink:0;padding:16px 24px;
  border-right:1px solid var(--wire);
  background:rgba(7,8,10,.4);
}
.pick-all-wrap{display:flex;flex-direction:column;gap:0;width:100%;}
.pick-tip{
  font-size:11px;color:var(--smoke2);margin-top:10px;text-align:center;
  letter-spacing:.3px;opacity:.7;
}
.pick-all-btn{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:14px 18px;border-radius:12px;cursor:pointer;
  border:1.5px solid var(--wire2);
  background:linear-gradient(135deg,var(--ink3),var(--ink2));
  transition:all .2s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
}
.pick-all-btn::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 60% 50%,rgba(34,211,200,.1),transparent 70%);
  opacity:0;transition:opacity .25s;
}
.pick-all-btn:hover::before,.pick-all-btn.active::before{opacity:1;}
.pick-all-btn:hover,.pick-all-btn.active{
  border-color:var(--teal);
  box-shadow:0 0 0 1px rgba(34,211,200,.2),0 8px 24px rgba(34,211,200,.15);
  transform:translateY(-1px);
  background:linear-gradient(135deg,rgba(34,211,200,.06),var(--ink2));
}
.pick-all-ico{
  width:36px;height:36px;border-radius:9px;
  background:rgba(34,211,200,.12);border:1px solid rgba(34,211,200,.25);
  display:grid;place-items:center;flex-shrink:0;position:relative;z-index:1;
  box-shadow:0 0 10px rgba(34,211,200,.12);
}
.pick-all-ico svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:2;}
.pick-all-info{text-align:right;position:relative;z-index:1;flex:1;}
.pick-all-name{font-weight:900;font-size:15px;color:#fff;}
.pick-all-sub{font-family:var(--mono);font-size:10px;color:var(--smoke2);margin-top:3px;}

/* GRID */
.pick-grid{
  flex:1;overflow-y:auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  grid-auto-rows:minmax(148px,auto);
  gap:14px;padding:18px 52px 24px;
  align-content:start;
  position:relative;z-index:1;
}
.pick-grid::-webkit-scrollbar{width:4px;}
.pick-grid::-webkit-scrollbar-thumb{background:var(--wire2);border-radius:2px;}
.pick-grid::-webkit-scrollbar-track{background:transparent;}

/* STAGE CARD — mirrors gp-card */
.pick-card{
  background:var(--ink2);
  border:1.5px solid var(--wire2);
  border-radius:14px;
  padding:20px 22px;cursor:pointer;
  transition:all .22s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:10px;
  animation:cardReveal .4s ease both;
}
.pick-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--pc,var(--teal)),transparent);
  opacity:0;transition:opacity .3s;
}
.pick-card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 50% -20%,var(--pc,rgba(34,211,200,.1)),transparent 65%);
  opacity:0;transition:opacity .25s;pointer-events:none;
}
.pick-card:hover::before{opacity:1;}
.pick-card:hover::after{opacity:1;}
.pick-card:hover{
  transform:translateY(-3px);
  border-color:var(--pc,var(--teal));
  box-shadow:0 14px 44px rgba(0,0,0,.55),0 0 0 1px var(--pc,rgba(34,211,200,.15));
}
.pick-card-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  position:relative;z-index:1;margin-bottom:0;
}
.pick-icon{
  width:40px;height:40px;border-radius:10px;
  display:grid;place-items:center;flex-shrink:0;
  box-shadow:0 0 12px rgba(0,0,0,.4);
}
.pick-icon svg{width:19px;height:19px;}
.pick-count{
  font-family:var(--mono);font-size:9.5px;font-weight:700;
  padding:3px 10px;border-radius:20px;border:1px solid;letter-spacing:.5px;
  position:relative;z-index:1;
}
.pick-card-body{position:relative;z-index:1;flex:1;}
.pick-name{font-weight:900;font-size:14px;color:#fff;margin-bottom:4px;line-height:1.3;}
.pick-desc{font-size:11.5px;color:var(--smoke);line-height:1.65;}
.pick-bar{
  display:block;height:2px;border-radius:2px;
  background:var(--wire2);overflow:hidden;flex-shrink:0;margin-top:auto;
}
.pick-bar-fill{
  height:100%;border-radius:2px;
  background:var(--pc,var(--teal));
  width:100%;opacity:.35;
  transition:opacity .2s;
}
.pick-card:hover .pick-bar-fill{opacity:.7;}

/* START BANNER */
.pick-start-wrap{
  flex-shrink:0;padding:14px 52px;
  border-top:1px solid var(--wire);
  background:linear-gradient(180deg,rgba(13,15,17,.95) 0%,rgba(7,8,10,.98) 100%);
  backdrop-filter:blur(24px);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  position:relative;z-index:2;
}
.pick-start-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(34,211,200,.2),transparent);
}
.pick-sel-info{display:flex;align-items:center;gap:12px;}
.pick-sel-dot{
  width:8px;height:8px;border-radius:50%;background:var(--teal);
  animation:dotPulse 2s infinite;
  box-shadow:0 0 8px rgba(34,211,200,.5);
}
.pick-sel-txt{font-size:13px;color:var(--smoke);}
.pick-sel-stage{font-weight:800;color:#fff;}
.pick-start-btn{
  display:flex;align-items:center;gap:10px;
  padding:13px 36px;border-radius:10px;cursor:pointer;
  background:linear-gradient(135deg,var(--teal2),#0ea5a0 120%);
  color:var(--ink);font-family:var(--ar);font-weight:900;font-size:15px;
  border:none;transition:all .22s cubic-bezier(.4,0,.2,1);
  box-shadow:0 4px 20px rgba(34,211,200,.4),inset 0 1px 0 rgba(255,255,255,.2);
  position:relative;overflow:hidden;
}
.pick-start-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 55%);
  opacity:1;
}
.pick-start-btn::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 120%,rgba(255,255,255,.15),transparent 65%);
  opacity:0;transition:opacity .2s;
}
.pick-start-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 32px rgba(34,211,200,.55),inset 0 1px 0 rgba(255,255,255,.2);
}
.pick-start-btn:hover::after{opacity:1;}
.pick-start-btn svg{
  width:16px;height:16px;stroke:currentColor;fill:currentColor;
  stroke-width:0;position:relative;z-index:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));
}
.pick-start-btn span{position:relative;z-index:1;}

/* learn content */
.l-layout{flex:1;display:grid;grid-template-columns:240px 1fr;min-height:0;}

/* sidebar */
.l-side{
  background:var(--ink2);border-left:1px solid var(--wire);
  display:flex;flex-direction:column;overflow:hidden;
}
.l-side-head{
  padding:16px 20px;border-bottom:1px solid var(--wire);flex-shrink:0;
}
.l-side-title{font-weight:900;font-size:14px;color:#fff;margin-bottom:2px;}
.l-side-sub{font-family:var(--mono);font-size:10px;color:var(--smoke2);letter-spacing:1px;}

.l-side-list{flex:1;overflow-y:auto;padding:8px 0;}
.l-side-list::-webkit-scrollbar{width:3px;}
.l-side-list::-webkit-scrollbar-thumb{background:var(--wire2);}

.l-side-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 18px;cursor:pointer;transition:background .12s;
  border-right:2px solid transparent;
}
.l-side-item:hover{background:var(--ink3);}
.l-side-item.active{background:var(--golddim);border-right-color:var(--gold);}
.l-side-item-icon{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;}
.l-side-item-icon svg{width:14px;height:14px;}
.l-side-item-text{flex:1;min-width:0;}
.l-side-item-name{font-weight:700;font-size:13px;color:var(--smoke);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.l-side-item.active .l-side-item-name{color:var(--gold);}
.l-side-item-n{font-family:var(--mono);font-size:10px;color:var(--smoke2);}
.l-side-item-done{
  width:16px;height:16px;border-radius:50%;border:1.5px solid var(--wire2);
  display:grid;place-items:center;flex-shrink:0;
}
.l-side-item-done.ok{background:var(--green);border-color:var(--green);}
.l-side-item-done svg{width:9px;height:9px;stroke:#fff;fill:none;stroke-width:2.5;}

/* learn main */
.l-main{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:28px 40px;overflow-y:auto;gap:0;
}

/* progress strip */
.l-prog-strip{
  width:100%;max-width:800px;display:flex;align-items:center;gap:12px;
  margin-bottom:20px;
}
.l-prog-bar{flex:1;height:4px;background:var(--wire2);border-radius:4px;overflow:hidden;}
.l-prog-fill{height:100%;border-radius:4px;background:var(--gold);transition:width .4s;box-shadow:0 0 6px var(--gold);}
.l-prog-txt{font-family:var(--mono);font-size:10px;color:var(--smoke2);white-space:nowrap;}

.l-side-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--ink3);border:1px solid var(--wire2);color:var(--smoke);cursor:pointer;flex-shrink:0;transition:all .15s;}
.l-side-toggle:hover{border-color:var(--gold);color:var(--gold);}
.l-side-toggle svg{width:16px;height:16px;}

.l-cmd-wrap{width:100%;max-width:800px;display:flex;flex-direction:column;gap:16px;animation:popIn .22s ease;}
.l-card{background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;overflow:hidden;box-shadow:0 16px 60px rgba(0,0,0,.6);}
.l-card-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--ink3);border-bottom:1px solid var(--wire);}
.l-card-prompt{font-family:var(--mono);font-size:11px;color:var(--smoke2);}
.l-card-prompt .pg{color:var(--gold);}
.l-card-badges{display:flex;gap:7px;}
.l-card-badge{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid;letter-spacing:.4px;}

.l-card-body{padding:24px 24px 20px;}
.l-typed{
  direction:ltr;text-align:left;font-family:var(--mono);font-weight:700;
  font-size:clamp(18px,2.8vw,30px);letter-spacing:2px;line-height:1.4;
  white-space:pre-wrap;word-break:break-all;min-height:44px;margin-bottom:16px;
}
.l-desc-box{background:var(--ink3);border-radius:7px;border:1px solid var(--wire);padding:11px 15px;font-size:14px;color:var(--smoke);font-weight:700;text-align:right;line-height:1.7;}
.l-desc-tag{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;display:block;}

.l-btns{display:flex;gap:10px;}
.l-btn{
  font-family:var(--ar);font-weight:900;font-size:14px;padding:11px 24px;
  border-radius:7px;cursor:pointer;transition:all .18s;border:none;flex:1;
}
.l-btn.gold{background:var(--gold);color:var(--ink);box-shadow:0 0 20px rgba(240,192,64,.3);}
.l-btn.gold:hover{background:var(--gold2);}
.l-btn.gold:disabled{opacity:.3;cursor:not-allowed;}
.l-btn.dim{background:var(--ink3);color:var(--smoke);border:1px solid var(--wire2);}
.l-btn.dim:hover{border-color:var(--gold);color:var(--gold);}

/* ══ LEARN TERMINAL ══ */
.l-terminal{
  background:#0a0b0e;border:1px solid rgba(34,211,200,.2);border-radius:10px;
  overflow:hidden;opacity:0;transform:translateY(10px);
  transition:opacity .3s,transform .3s;
  box-shadow:0 0 24px rgba(34,211,200,.08),inset 0 0 60px rgba(0,0,0,.4);
}
.l-terminal.show{opacity:1;transform:translateY(0);}
.l-term-bar{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;background:rgba(10,12,16,.9);
  border-bottom:1px solid rgba(34,211,200,.1);
}
.l-term-dots{display:flex;gap:5px;}
.l-term-dot{width:9px;height:9px;border-radius:50%;}
.l-term-title{
  font-family:var(--mono);font-size:9px;color:rgba(94,232,223,.3);
  letter-spacing:2px;text-transform:uppercase;
}
.l-term-body{
  padding:14px 18px;
  font-family:var(--mono);font-size:12px;line-height:1.65;
  color:var(--teal2);overflow-x:auto;
  max-height:260px;overflow-y:auto;
  white-space:pre-wrap;
}
.l-term-line{margin-bottom:2px;}
.l-term-prompt{color:var(--gold);font-weight:700;}
.l-term-cmd{color:#a5f0e8;}
.l-term-output{
  color:rgba(94,232,223,.7);padding:4px 0 10px;
  border-bottom:1px solid rgba(34,211,200,.06);margin-bottom:8px;
}
.l-term-cursor{
  color:var(--teal2);animation:termBlink .8s step-end infinite;
}
@keyframes termBlink{0%,100%{opacity:1;}50%{opacity:0;}}

/* ══════════════════════════════════════════════
   QUIZ SCREEN — PREMIUM REDESIGN
══════════════════════════════════════════════ */
#s-quiz{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;}
#s-quiz.hidden{display:none!important;}

/* ── HUD ── */
.q-hud{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;height:64px;border-bottom:1px solid var(--wire);
  background:rgba(7,8,10,.96);backdrop-filter:blur(20px);flex-shrink:0;
  position:relative;
}
.q-hud::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,139,250,.4),transparent);}
.q-hud-left{display:flex;align-items:center;gap:16px;}
.q-title{font-weight:900;font-size:17px;color:#fff;display:flex;align-items:center;gap:8px;}
.q-title-icon{width:28px;height:28px;border-radius:7px;background:var(--purpledim);border:1px solid rgba(167,139,250,.3);display:grid;place-items:center;}
.q-title-icon svg{width:14px;height:14px;stroke:var(--purple);fill:none;stroke-width:2;}

/* live stats bar */
.q-live-stats{display:flex;align-items:center;gap:4px;}
.q-stat-pill{
  display:flex;align-items:center;gap:6px;
  padding:5px 13px;border-radius:20px;
  background:var(--ink3);border:1px solid var(--wire2);
  font-family:var(--mono);font-size:11px;font-weight:700;
}
.q-stat-pill.green{color:var(--green);border-color:rgba(48,212,118,.3);}
.q-stat-pill.red{color:var(--red);border-color:rgba(240,69,69,.3);}
.q-stat-pill.purple{color:var(--purple);border-color:rgba(167,139,250,.3);}
.q-stat-dot{width:5px;height:5px;border-radius:50%;background:currentColor;}

/* mode badge */
.q-mode-badge{
  display:flex;align-items:center;gap:6px;
  padding:4px 12px;border-radius:20px;
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
}
.q-mode-badge.type{background:rgba(240,192,64,.1);border:1px solid rgba(240,192,64,.3);color:var(--gold);}
.q-mode-badge.mcq{background:var(--purpledim);border:1px solid rgba(167,139,250,.3);color:var(--purple);}

.q-back{
  display:flex;align-items:center;gap:6px;padding:7px 16px;
  background:transparent;border:1px solid var(--wire2);color:var(--smoke2);
  font-family:var(--ar);font-weight:700;font-size:12px;border-radius:6px;cursor:pointer;transition:all .15s;
}
.q-back svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
.q-back:hover{border-color:var(--red);color:var(--red);}

/* progress */
.q-prog{height:3px;background:var(--ink3);flex-shrink:0;position:relative;}
.q-prog-fill{height:100%;background:linear-gradient(90deg,var(--purple),#c4b5fd);transition:width .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px rgba(167,139,250,.6);}

/* step dots */
.q-dots-wrap{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:10px 0 6px;flex-shrink:0;
}
.q-dot-step{
  width:6px;height:6px;border-radius:50%;background:var(--wire2);
  transition:all .3s cubic-bezier(.34,1.56,.64,1);cursor:default;
}
.q-dot-step.done{background:var(--green);box-shadow:0 0 5px rgba(48,212,118,.5);}
.q-dot-step.wrong-done{background:var(--red);box-shadow:0 0 5px rgba(240,69,69,.4);}
.q-dot-step.active{background:var(--purple);width:18px;border-radius:4px;box-shadow:0 0 8px rgba(167,139,250,.6);}

.q-body{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:28px 40px;overflow-y:auto;
}

/* ══════════════════════════════════════════════
   QUIZ START — PREMIUM TWO-COLUMN LAYOUT
══════════════════════════════════════════════ */
.q-start{
  width:100%;max-width:1040px;
  display:grid;grid-template-columns:320px 1fr;
  gap:0;align-items:start;
  animation:fadeUp .4s ease;
  background:var(--ink2);border:1px solid var(--wire2);
  border-radius:16px;overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
}

/* LEFT PANEL */
.qs-left{
  background:var(--ink3);border-left:1px solid var(--wire2);
  display:flex;flex-direction:column;
  padding:32px 28px;gap:24px;
  min-height:580px;
}
.qs-brand-row{
  display:flex;align-items:center;gap:14px;
}
.qs-brand-icon{
  width:52px;height:52px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(167,139,250,.06));
  border:1px solid rgba(167,139,250,.3);
  display:grid;place-items:center;
  box-shadow:0 0 24px rgba(167,139,250,.15),inset 0 1px 0 rgba(255,255,255,.05);
  position:relative;overflow:hidden;
}
.qs-brand-icon::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 40% 30%,rgba(167,139,250,.2),transparent 65%);
}
.qs-brand-icon svg{width:26px;height:26px;stroke:var(--purple);fill:none;stroke-width:1.8;position:relative;z-index:1;}
.qs-brand-text{}
.qs-brand-title{font-weight:900;font-size:20px;color:#fff;letter-spacing:-.5px;line-height:1.1;}
.qs-brand-title span{color:var(--purple);}
.qs-brand-sub{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:2.5px;text-transform:uppercase;margin-top:3px;}

.qs-divider{height:1px;background:var(--wire2);}

/* MODE CARDS — VERTICAL */
.qs-mode-label{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.qs-modes{display:flex;flex-direction:column;gap:8px;}
.qs-mode-card{
  display:flex;align-items:center;gap:12px;
  padding:13px 16px;border-radius:10px;cursor:pointer;
  border:1.5px solid var(--wire2);background:var(--ink2);
  transition:all .2s;position:relative;overflow:hidden;
}
.qs-mode-card::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;pointer-events:none;}
.qs-mode-card.type-mode::before{background:radial-gradient(ellipse at 30% 50%,rgba(240,192,64,.07),transparent 70%);}
.qs-mode-card.mcq-mode::before{background:radial-gradient(ellipse at 30% 50%,rgba(167,139,250,.07),transparent 70%);}
.qs-mode-card:hover::before,.qs-mode-card.active::before{opacity:1;}
.qs-mode-card.type-mode:hover,.qs-mode-card.type-mode.active{border-color:var(--gold);box-shadow:0 0 16px rgba(240,192,64,.12);}
.qs-mode-card.mcq-mode:hover,.qs-mode-card.mcq-mode.active{border-color:var(--purple);box-shadow:0 0 16px rgba(167,139,250,.12);}
.qs-mode-ico{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;position:relative;z-index:1;}
.qs-mode-ico svg{width:17px;height:17px;}
.qs-mode-card.type-mode .qs-mode-ico{background:rgba(240,192,64,.12);border:1px solid rgba(240,192,64,.2);}
.qs-mode-card.mcq-mode .qs-mode-ico{background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.2);}
.qs-mode-info{flex:1;text-align:right;position:relative;z-index:1;}
.qs-mode-name{font-weight:800;font-size:13px;color:#fff;margin-bottom:2px;}
.qs-mode-desc{font-size:11px;color:var(--smoke);line-height:1.5;}
.qs-mode-radio{
  width:16px;height:16px;border-radius:50%;border:2px solid var(--wire2);
  display:grid;place-items:center;flex-shrink:0;transition:all .2s;position:relative;z-index:1;
}
.qs-mode-card.type-mode.active .qs-mode-radio{border-color:var(--gold);background:var(--gold);}
.qs-mode-card.mcq-mode.active .qs-mode-radio{border-color:var(--purple);background:var(--purple);}
.qs-mode-radio::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .15s;}
.qs-mode-card.active .qs-mode-radio::after{transform:scale(1);}

/* STATS row */
.qs-stats{display:flex;gap:8px;}
.qs-stat{
  flex:1;background:var(--ink2);border:1px solid var(--wire2);border-radius:8px;
  padding:10px 12px;text-align:center;
}
.qs-stat-val{font-family:var(--mono);font-size:18px;font-weight:800;color:#fff;line-height:1;}
.qs-stat-lbl{font-size:10px;color:var(--smoke2);margin-top:3px;}

/* START BUTTON */
.qs-start-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:14px;
  background:linear-gradient(135deg,var(--purple),#7c3aed);
  color:#fff;font-family:var(--ar);font-weight:900;font-size:16px;
  border:none;border-radius:10px;cursor:pointer;transition:all .22s;
  box-shadow:0 4px 20px rgba(167,139,250,.35);letter-spacing:.3px;
  position:relative;overflow:hidden;
}
.qs-start-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);
  opacity:0;transition:opacity .2s;
}
.qs-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(167,139,250,.45);}
.qs-start-btn:hover::before{opacity:1;}
.qs-start-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;position:relative;z-index:1;}
.qs-start-btn span{position:relative;z-index:1;}

/* RIGHT PANEL */
.qs-right{
  padding:28px 32px;display:flex;flex-direction:column;gap:16px;
  max-height:640px;
}
.qs-right-header{
  display:flex;align-items:center;justify-content:space-between;
}
.qs-right-title{font-weight:900;font-size:15px;color:#fff;}
.qs-ctrl-btns{display:flex;gap:6px;}
.qs-ctrl-btn{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.8px;
  padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .15s;border:none;
}
.qs-ctrl-btn.sel-all{background:rgba(167,139,250,.12);color:var(--purple);border:1px solid rgba(167,139,250,.25);}
.qs-ctrl-btn.sel-all:hover{background:rgba(167,139,250,.2);}
.qs-ctrl-btn.sel-none{background:var(--ink3);color:var(--smoke2);border:1px solid var(--wire2);}
.qs-ctrl-btn.sel-none:hover{color:var(--red);border-color:rgba(240,69,69,.3);}

/* GRID of stage chips */
.qs-stages-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:7px;
  overflow-y:auto;padding-left:4px;
  max-height:460px;
}.qs-stages-grid::-webkit-scrollbar{width:3px;}
.qs-stages-grid::-webkit-scrollbar-thumb{background:var(--wire2);border-radius:2px;}

.q-opt{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;background:var(--ink3);border:1.5px solid var(--wire2);border-radius:9px;
  cursor:pointer;transition:all .18s;text-align:right;
  position:relative;overflow:hidden;
}
.q-opt::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;pointer-events:none;}
.q-opt:hover::before{opacity:1;}
.q-opt:hover{border-color:rgba(167,139,250,.4);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3);}
.q-opt.selected{border-color:rgba(167,139,250,.45);background:rgba(167,139,250,.07);}
.q-opt.selected::before{background:radial-gradient(ellipse at 50% 0%,rgba(167,139,250,.06),transparent 70%);opacity:1;}
.q-opt-ico{
  width:28px;height:28px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;
  transition:all .18s;
}
.q-opt-ico svg{width:13px;height:13px;}
.q-opt-body{flex:1;min-width:0;}
.q-opt-name{font-weight:700;font-size:12.5px;color:var(--smoke);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s;}
.q-opt.selected .q-opt-name{color:#fff;}
.q-opt-n{font-family:var(--mono);font-size:10px;color:var(--smoke2);margin-top:1px;}
.q-opt-check{
  width:16px;height:16px;border-radius:50%;border:1.5px solid var(--wire2);
  display:grid;place-items:center;flex-shrink:0;transition:all .18s;
}
.q-opt.selected .q-opt-check{background:var(--purple);border-color:var(--purple);}
.q-opt-check svg{width:8px;height:8px;stroke:var(--ink);fill:none;stroke-width:3;opacity:0;transition:opacity .15s;}
.q-opt.selected .q-opt-check svg{opacity:1;}

/* summary bar */
.qs-summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:var(--ink3);border:1px solid var(--wire2);border-radius:8px;
}
.qs-summary-txt{font-size:12px;color:var(--smoke);}
.qs-summary-count{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--purple);}

/* LEGACY keep for quiz question */
.q-start-title{font-weight:900;font-size:34px;color:#fff;margin-bottom:8px;letter-spacing:-1px;}
.q-start-title span{color:var(--purple);}
.q-start-desc{font-size:14px;color:var(--smoke);line-height:1.9;margin-bottom:28px;}
.q-start-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:15px;
  background:linear-gradient(135deg,var(--purple),#8b5cf6);
  color:#fff;font-family:var(--ar);font-weight:900;font-size:17px;border:none;border-radius:10px;
  cursor:pointer;transition:all .2s;
  box-shadow:0 4px 24px rgba(167,139,250,.35);
}
.q-start-btn:hover{transform:translateY(-2px);}
.q-start-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.5;}
@keyframes spinSlow{to{transform:rotate(360deg);}}
/* legacy mode cards kept for fallback */
.q-mode-select{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;}
.q-mode-card{padding:18px;border-radius:12px;cursor:pointer;transition:all .2s;text-align:right;border:2px solid var(--wire2);background:var(--ink2);position:relative;overflow:hidden;}
.q-mode-card::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;pointer-events:none;}
.q-mode-card.type-mode:hover,.q-mode-card.type-mode.active{border-color:var(--gold);}
.q-mode-card.mcq-mode:hover,.q-mode-card.mcq-mode.active{border-color:var(--purple);}
.q-mode-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;margin-bottom:10px;}
.q-mode-icon svg{width:18px;height:18px;}
.q-mode-name{font-weight:900;font-size:15px;color:#fff;margin-bottom:4px;}
.q-mode-desc{font-size:12px;color:var(--smoke);line-height:1.6;}
.q-mode-check{position:absolute;top:12px;left:12px;width:18px;height:18px;border-radius:50%;border:2px solid var(--wire2);display:grid;place-items:center;transition:all .2s;}
.q-mode-card.type-mode.active .q-mode-check{background:var(--gold);border-color:var(--gold);}
.q-mode-card.mcq-mode.active .q-mode-check{background:var(--purple);border-color:var(--purple);}
.q-mode-check svg{width:9px;height:9px;stroke:var(--ink);fill:none;stroke-width:3;}
.q-start-opts{display:none;}

/* ── TYPING QUESTION ── */
.q-question{width:100%;max-width:740px;animation:popIn .25s ease;}

.q-step-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.q-step{font-family:var(--mono);font-size:11px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;}
.q-timer-ring{
  position:relative;width:38px;height:38px;
}
.q-timer-ring svg{transform:rotate(-90deg);}
.q-timer-ring-num{
  position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;font-weight:700;color:var(--purple);
}

/* description box → becomes the prompt */
.q-desc-prompt{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;
  overflow:hidden;margin-bottom:16px;
  box-shadow:0 8px 40px rgba(0,0,0,.4);
}
.q-desc-bar{
  display:flex;align-items:center;gap:10px;
  padding:10px 18px;background:var(--ink3);border-bottom:1px solid var(--wire);
}
.q-desc-dots{display:flex;gap:5px;}
.q-desc-dot{width:8px;height:8px;border-radius:50%;}
.q-desc-label{
  font-family:var(--mono);font-size:9.5px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;
}
.q-desc-text{
  padding:20px 22px;font-size:15px;color:#dde2ea;font-weight:700;
  line-height:1.75;text-align:right;
}

/* typing area */
.q-type-wrap{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;overflow:hidden;
  margin-bottom:14px;box-shadow:0 8px 40px rgba(0,0,0,.4);
  transition:border-color .2s;
}
.q-type-wrap.active{border-color:var(--gold);}
.q-type-wrap.correct-border{border-color:var(--green)!important;box-shadow:0 0 0 3px rgba(48,212,118,.12)!important;}
.q-type-wrap.wrong-border{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(240,69,69,.1)!important;}
.q-type-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 16px;background:var(--ink3);border-bottom:1px solid var(--wire);
}
.q-type-prompt{font-family:var(--mono);font-size:11px;color:var(--smoke2);}
.q-type-prompt .pg{color:var(--gold);}
.q-type-hint{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:1px;opacity:.6;}
.q-typed-display{
  font-family:var(--mono);font-weight:700;font-size:clamp(16px,2.4vw,24px);
  padding:18px 22px;direction:ltr;text-align:left;letter-spacing:1.5px;
  min-height:64px;
}

/* feedback msg */
.q-type-feedback{
  display:flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:8px;font-family:var(--mono);font-size:12px;font-weight:700;
  letter-spacing:.5px;margin-bottom:14px;
  opacity:0;transform:translateY(4px);transition:all .25s;
}
.q-type-feedback.show{opacity:1;transform:translateY(0);}
.q-type-feedback.ok{background:var(--greendim);border:1px solid rgba(48,212,118,.3);color:var(--green);}
.q-type-feedback.ko{background:var(--reddim);border:1px solid rgba(240,69,69,.3);color:var(--red);}
.q-type-feedback svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;flex-shrink:0;}

/* ── MCQ QUESTION ── */
.q-ask{
  font-weight:900;font-size:17px;color:#fff;text-align:center;
  margin-bottom:14px;line-height:1.4;
}
.q-choices{display:flex;flex-direction:column;gap:9px;margin-bottom:18px;}
.q-choice{
  display:flex;align-items:center;gap:14px;
  padding:14px 18px;background:var(--ink2);border:1.5px solid var(--wire2);border-radius:10px;
  cursor:pointer;text-align:right;font-size:14px;font-weight:700;color:var(--smoke);
  transition:all .15s;position:relative;overflow:hidden;
}
.q-choice::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(167,139,250,.06),transparent);}
.q-choice:hover:not(.locked)::before{opacity:1;}
.q-choice:hover:not(.locked){border-color:var(--purple);color:#fff;transform:translateX(-3px);}
.q-choice-key{
  width:26px;height:26px;border-radius:6px;flex-shrink:0;
  background:var(--ink3);border:1px solid var(--wire2);
  display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;font-weight:800;color:var(--smoke2);
  transition:all .15s;
}
.q-choice:hover:not(.locked) .q-choice-key{background:var(--purpledim);border-color:var(--purple);color:var(--purple);}
.q-choice-text{flex:1;}
.q-choice.correct{border-color:var(--green)!important;background:rgba(48,212,118,.07)!important;color:var(--green)!important;}
.q-choice.correct .q-choice-key{background:var(--green);border-color:var(--green);color:var(--ink);}
.q-choice.wrong{border-color:var(--red)!important;background:rgba(240,69,69,.07)!important;color:var(--red)!important;}
.q-choice.wrong .q-choice-key{background:var(--red);border-color:var(--red);color:#fff;}
.q-choice.locked{cursor:default;transform:none!important;}
.q-choice.reveal-correct{border-color:rgba(48,212,118,.4)!important;color:var(--green)!important;}

/* cmd display in MCQ */
.q-cmd-display{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;overflow:hidden;
  margin-bottom:16px;box-shadow:0 8px 40px rgba(0,0,0,.4);
}
.q-cmd-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--ink3);border-bottom:1px solid var(--wire);}
.q-cmd-dots{display:flex;gap:6px;}
.q-cmd-dot{width:8px;height:8px;border-radius:50%;}
.q-cmd-prompt{font-family:var(--mono);font-size:11px;color:var(--smoke2);}
.q-cmd-prompt .pg{color:var(--gold);}
.q-cmd-text{
  font-family:var(--mono);font-weight:700;font-size:clamp(18px,2.5vw,28px);
  color:var(--gold3);padding:20px 22px;direction:ltr;text-align:left;letter-spacing:2px;
  text-shadow:0 0 20px rgba(240,192,64,.2);
}

.q-next-btn{
  width:100%;padding:13px;
  background:linear-gradient(135deg,var(--purple),#8b5cf6);
  color:#fff;
  font-family:var(--ar);font-weight:900;font-size:16px;border:none;border-radius:9px;
  cursor:pointer;transition:all .18s;
  box-shadow:0 4px 18px rgba(167,139,250,.3);
}
.q-next-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(167,139,250,.4);}
.q-next-btn.hidden{display:none!important;}

/* ── RESULT SCREEN ── */
.q-result{text-align:center;max-width:580px;width:100%;animation:popIn .4s ease;}
.q-result-crown{font-size:52px;margin-bottom:8px;filter:drop-shadow(0 0 18px rgba(240,192,64,.4));}
.q-result-score{
  font-family:var(--mono);font-weight:800;
  font-size:clamp(70px,16vw,110px);line-height:1;
  background:linear-gradient(135deg,var(--purple),#c4b5fd);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 30px rgba(167,139,250,.4));
}
.q-result-grade{
  font-family:var(--mono);font-size:11px;letter-spacing:4px;
  color:var(--smoke2);text-transform:uppercase;margin-bottom:6px;
}
.q-result-msg{font-size:15px;color:var(--smoke);margin-bottom:24px;line-height:1.7;}
.q-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;}
.q-res-card{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:10px;
  padding:16px 10px;text-align:center;
  transition:transform .2s;
}
.q-res-card:hover{transform:translateY(-2px);}
.q-res-v{font-family:var(--mono);font-weight:800;font-size:26px;display:block;}
.q-res-l{font-size:11px;color:var(--smoke2);font-weight:700;margin-top:4px;display:block;}

/* accuracy bar in result */
.q-acc-bar-wrap{margin-bottom:22px;}
.q-acc-bar-label{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px;color:var(--smoke2);font-weight:700;}
.q-acc-bar-track{height:8px;background:var(--wire2);border-radius:8px;overflow:hidden;}
.q-acc-bar-fill{height:100%;border-radius:8px;transition:width 1s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(90deg,var(--purple),var(--green));}

.q-res-btns{display:flex;gap:10px;}
.q-res-btn{
  flex:1;padding:12px;border-radius:9px;font-family:var(--ar);font-weight:900;font-size:14px;
  cursor:pointer;transition:all .18s;
}
.q-res-btn.purple{
  background:linear-gradient(135deg,var(--purple),#8b5cf6);color:#fff;border:none;
  box-shadow:0 4px 18px rgba(167,139,250,.3);
}
.q-res-btn.purple:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(167,139,250,.4);}
.q-res-btn.dim{background:transparent;border:1px solid var(--wire2);color:var(--smoke);}
.q-res-btn.dim:hover{border-color:var(--gold);color:var(--gold);}

@keyframes correctFlash{0%{box-shadow:0 0 0 0 rgba(48,212,118,.5);}100%{box-shadow:0 0 0 12px rgba(48,212,118,0);}}

/* ══════════════════════════════════════════════
   RESULTS SCREEN
══════════════════════════════════════════════ */
#s-results{position:fixed;inset:0;background:var(--ink);display:flex;align-items:center;justify-content:center;padding:40px;}
#s-results.hidden{display:none!important;}
.r-wrap{text-align:center;max-width:600px;width:100%;animation:popIn .4s ease;}
.r-lbl{font-family:var(--mono);font-size:10px;letter-spacing:4px;color:var(--smoke2);text-transform:uppercase;margin-bottom:8px;}
.r-wpm{font-family:var(--mono);font-weight:800;font-size:clamp(80px,18vw,140px);line-height:1;color:var(--gold);animation:goldPulse 2s infinite;}
.r-wpm-sub{font-family:var(--mono);font-size:14px;letter-spacing:5px;color:var(--smoke2);text-transform:uppercase;margin-bottom:28px;}
.r-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:28px;}
.r-card{background:var(--ink2);border:1px solid var(--wire2);border-radius:9px;padding:14px 10px;}
.r-v{font-family:var(--mono);font-weight:800;font-size:24px;display:block;}
.r-l{font-family:var(--ar);font-weight:700;font-size:11px;color:var(--smoke2);margin-top:3px;display:block;}
.r-btns{display:flex;gap:12px;justify-content:center;}
.r-btn{padding:12px 36px;border-radius:8px;font-family:var(--ar);font-weight:900;font-size:15px;cursor:pointer;transition:all .18s;}
.r-btn.gold{background:var(--gold);color:var(--ink);border:none;box-shadow:0 0 20px rgba(240,192,64,.3);}
.r-btn.gold:hover{background:var(--gold2);}
.r-btn.dim{background:transparent;border:1px solid var(--wire2);color:var(--smoke);}
.r-btn.dim:hover{border-color:var(--gold);color:var(--gold);}



/* ══════════════════════════════════════════════
   XP BAR & LEVEL SYSTEM
══════════════════════════════════════════════ */
#xp-bar-wrap{
  position:fixed;bottom:0;left:0;right:0;z-index:700;
  height:3px;background:transparent;pointer-events:none;
}
#xp-bar-fill{
  height:100%;background:linear-gradient(90deg,var(--gold),var(--teal));
  transition:width .6s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 0 8px rgba(240,192,64,.6);
}
#level-popup{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);
  z-index:9000;
  background:var(--ink2);border:2px solid var(--gold);border-radius:20px;
  padding:36px 52px;text-align:center;
  box-shadow:0 0 80px rgba(240,192,64,.3),0 24px 80px rgba(0,0,0,.7);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .4s;
  opacity:0;pointer-events:none;
}
#level-popup.show{transform:translate(-50%,-50%) scale(1);opacity:1;}
#level-popup .lp-emoji{font-size:52px;display:block;margin-bottom:8px;}
#level-popup .lp-title{font-family:var(--mono);font-size:11px;letter-spacing:3px;color:var(--smoke2);text-transform:uppercase;margin-bottom:6px;}
#level-popup .lp-level{font-family:var(--mono);font-weight:800;font-size:48px;color:var(--gold);line-height:1;}
#level-popup .lp-rank{font-weight:900;font-size:20px;color:#fff;margin-top:4px;}
#level-popup .lp-xp{font-family:var(--mono);font-size:11px;color:var(--smoke2);margin-top:8px;}

/* level badge in nav */
#level-badge{
  display:flex;align-items:center;gap:7px;
  padding:5px 13px;background:var(--ink3);border:1px solid var(--wire2);
  border-radius:8px;cursor:pointer;transition:border-color .2s;
}
#level-badge:hover{border-color:rgba(240,192,64,.4);}
#level-badge .lb-num{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--gold);}
#level-badge .lb-bar{width:48px;height:4px;background:var(--wire2);border-radius:2px;overflow:hidden;}
#level-badge .lb-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s;}
#level-badge .lb-rank{font-size:10px;color:var(--smoke2);font-family:var(--mono);}

/* ══════════════════════════════════════════════
   FLYING CHAR EFFECT
══════════════════════════════════════════════ */
.fly-char{
  position:fixed;pointer-events:none;z-index:9996;
  font-family:var(--mono);font-weight:800;font-size:14px;
  transform:translate(-50%,-50%);
  animation:flyChar .55s ease-out forwards;
}
@keyframes flyChar{
  0%{opacity:1;transform:translate(-50%,-50%) scale(1.2);}
  100%{opacity:0;transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy))) scale(.5);}
}

/* ══════════════════════════════════════════════
   DURATION SELECTOR (in gp-start-wrap)
══════════════════════════════════════════════ */
.dur-selector{display:flex;align-items:center;gap:6px;}
.dur-label{font-family:var(--mono);font-size:9px;color:var(--smoke2);letter-spacing:2px;text-transform:uppercase;margin-left:4px;}
.dur-btn{
  font-family:var(--mono);font-size:11px;font-weight:800;
  padding:6px 14px;border-radius:6px;cursor:pointer;
  border:1px solid var(--wire2);background:var(--ink3);color:var(--smoke2);
  transition:all .15s;letter-spacing:.5px;
}
.dur-btn:hover{border-color:var(--gold);color:var(--gold);}
.dur-btn.active{border-color:var(--gold);background:rgba(240,192,64,.12);color:var(--gold);}
.death-btn{
  font-family:var(--mono);font-size:10px;font-weight:800;
  padding:6px 14px;border-radius:6px;cursor:pointer;
  border:1px solid var(--wire2);background:var(--ink3);color:var(--smoke2);
  transition:all .15s;letter-spacing:.5px;
}
.death-btn.active{border-color:var(--red);background:rgba(240,69,69,.12);color:var(--red);}
.death-btn:hover{border-color:var(--red);color:var(--red);}

/* ══════════════════════════════════════════════
   ENHANCED RESULTS SCREEN
══════════════════════════════════════════════ */
#s-results{position:fixed;inset:0;background:var(--ink);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;}
#s-results.hidden{display:none!important;}
.r-wrap{text-align:center;max-width:680px;width:100%;animation:popIn .4s ease;}
.r-lbl{font-family:var(--mono);font-size:10px;letter-spacing:4px;color:var(--smoke2);text-transform:uppercase;margin-bottom:8px;}
.r-wpm{font-family:var(--mono);font-weight:800;font-size:clamp(72px,16vw,120px);line-height:1;color:var(--gold);animation:goldPulse 2s infinite;}
.r-wpm-sub{font-family:var(--mono);font-size:14px;letter-spacing:5px;color:var(--smoke2);text-transform:uppercase;margin-bottom:6px;}
.r-vs-row{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:20px;font-family:var(--mono);font-size:12px;
}
.r-vs-prev{color:var(--smoke2);}
.r-vs-arrow{font-size:16px;}
.r-vs-diff{font-weight:800;}
.r-vs-diff.up{color:var(--green);}
.r-vs-diff.down{color:var(--red);}
.r-vs-diff.same{color:var(--smoke2);}
.r-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:18px;}
.r-card{background:var(--ink2);border:1px solid var(--wire2);border-radius:9px;padding:14px 10px;animation:cardReveal .4s ease both;}
.r-v{font-family:var(--mono);font-weight:800;font-size:24px;display:block;}
.r-l{font-family:var(--ar);font-weight:700;font-size:11px;color:var(--smoke2);margin-top:3px;display:block;}
/* wpm chart */
.r-chart-wrap{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:12px;
  padding:16px;margin-bottom:18px;
}
.r-chart-title{font-family:var(--mono);font-size:9px;letter-spacing:2px;color:var(--smoke2);text-transform:uppercase;margin-bottom:10px;text-align:right;}
.r-chart-canvas{width:100%;height:80px;display:block;}
/* xp gain */
.r-xp-row{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:18px;
  background:var(--ink2);border:1px solid rgba(240,192,64,.2);border-radius:10px;
  padding:12px 20px;
}
.r-xp-icon{font-size:18px;}
.r-xp-text{font-family:var(--mono);font-size:13px;color:var(--smoke);}
.r-xp-text strong{color:var(--gold);}
/* rank badge */
.r-rank-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 18px;border-radius:20px;margin-bottom:18px;
  font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;border:1px solid;
}
.r-btns{display:flex;gap:12px;justify-content:center;}
.r-btn{padding:12px 36px;border-radius:8px;font-family:var(--ar);font-weight:900;font-size:15px;cursor:pointer;transition:all .18s;}
.r-btn.gold{background:var(--gold);color:var(--ink);border:none;box-shadow:0 0 20px rgba(240,192,64,.3);}
.r-btn.gold:hover{background:var(--gold2);transform:translateY(-1px);}
.r-btn.dim{background:transparent;border:1px solid var(--wire2);color:var(--smoke);}
.r-btn.dim:hover{border-color:var(--gold);color:var(--gold);}
.r-btn.share{background:rgba(34,211,200,.12);border:1px solid rgba(34,211,200,.3);color:var(--teal);}
.r-btn.share:hover{background:rgba(34,211,200,.2);transform:translateY(-1px);}

/* ══ SUDDEN DEATH overlay ══ */
#sd-overlay{
  position:fixed;inset:0;z-index:8000;
  background:rgba(240,69,69,.08);
  display:flex;align-items:center;justify-content:center;
  animation:sdFlash .3s ease;pointer-events:none;
}
#sd-overlay.hidden{display:none!important;}
@keyframes sdFlash{0%{opacity:0;}50%{opacity:1;}100%{opacity:0;}display:none;}

/* ══ TOAST notification ══ */
#toast{
  position:fixed;bottom:36px;left:50%;transform:translateX(-50%) translateY(20px);
  z-index:9500;background:var(--ink2);border:1px solid var(--wire2);
  border-radius:40px;padding:8px 20px;
  font-family:var(--mono);font-size:12px;color:#dde2ea;
  opacity:0;transition:opacity .25s,transform .25s;
  pointer-events:none;white-space:nowrap;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ══════════════════════════════════════════════
   RESPONSIVE — TABLET (max 1024px)
══════════════════════════════════════════════ */
@media (max-width:1024px){
  .h-nav{padding:0 28px;}
  .hero-grid{grid-template-columns:1fr 360px;}
  .hero-l{padding:36px 36px;}
  .hero-title{font-size:clamp(36px,4.5vw,56px);}
  .hero-desc{font-size:14px;max-width:380px;}
  .gp-nav{padding:0 28px;}
  .gp-hero{padding:16px 28px;}
  .gp-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:16px 28px 20px;}
  .gp-start-wrap{padding:12px 28px;}
  .gp-side{width:280px;}
  .pick-nav{padding:0 28px;}
  .pick-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;padding:14px 28px 20px!important;}
  .pick-icon svg{width:15px;height:15px;}
  .h-footer{padding:0 28px;}
  .q-hud{padding:0 28px;}
  .q-start{grid-template-columns:280px 1fr;}
  .l-layout{grid-template-columns:200px 1fr;}
  .g-hud{padding:0 28px;}
  .g-arena{padding:0 28px;}
  .r-wrap{max-width:580px;}
  .r-wpm{font-size:clamp(60px,13vw,100px);}
  .r-cards{grid-template-columns:repeat(2,1fr);}
  .h-nav-right{gap:4px;}
  .ext-link{padding:5px 10px;font-size:9px;}
}

/* ══════════════════════════════════════════════
   RESPONSIVE — MOBILE (max 768px)
══════════════════════════════════════════════ */
@media (max-width:768px){

  /* GLOBAL: convert fixed screens to scrollable */
  html,body{overflow-x:hidden;overflow-y:auto;height:auto;}

  #s-home,#s-game,#s-learn,#g-pick,#l-pick{
    position:relative!important;
    inset:auto!important;
    min-height:100svh;
    overflow:visible!important;
  }
  #s-home.hidden,#s-game.hidden,#s-learn.hidden,#s-quiz.hidden,
  #g-pick.hidden,#l-pick.hidden{display:none!important;}
  #xp-bar-wrap{position:fixed;top:0;left:0;right:0;z-index:9999;height:2px;}
  #level-popup,#toast,#sd-overlay,#streak-badge{position:fixed!important;}

  /* NAV */
  .h-nav{padding:0 14px;height:52px;position:sticky;top:0;z-index:100;background:rgba(7,8,10,.98);}
  .brand-orbit,.brand-mark{width:34px;height:34px;}
  .brand-mark{border-radius:8px;}
  .brand-ar{font-size:13px;}
  .brand-en-wrap{display:none;}
  .h-nav-right{gap:3px;}
  .ext-link{padding:5px 8px;gap:4px;}
  .ext-link .lbl{display:none;}
  .ext-ico,.ext-ico svg{width:13px;height:13px;}
  #level-badge{display:none;}
  #snd-lbl{display:none;}
  #snd-btn{padding:5px 8px;}
  .snd-bars{height:10px;}

  /* HERO */
  .h-hero{flex:none;overflow:visible;}
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto auto;}
  .hero-l{padding:20px 14px 14px;border-left:none;border-bottom:1px solid var(--wire);justify-content:flex-start;}
  .hero-pill{font-size:8px;letter-spacing:1.5px;padding:4px 10px;margin-bottom:10px;}
  .hero-title{font-size:clamp(28px,8vw,42px);letter-spacing:-1px;margin-bottom:4px;}
  .hero-term{font-size:10px;margin:8px 0 8px;overflow-x:auto;max-width:100%;display:flex;}
  .term-ps,.term-cmd{padding:5px 10px;font-size:10px;white-space:nowrap;}
  .hero-desc{font-size:12px;line-height:1.7;max-width:100%;}
  .hero-r{border-left:none;display:grid;grid-template-columns:1fr 1fr;background:transparent;}
  .mode-card{padding:14px 12px;border-bottom:1px solid var(--wire);border-left:1px solid var(--wire);cursor:pointer;}
  .mode-card:nth-child(odd){border-left:none;}
  .mode-card:last-child:nth-child(odd){grid-column:1/-1;border-left:none;}
  .mc-top{margin-bottom:8px;}
  .mc-title{font-size:13px;margin-bottom:3px;}
  .mc-desc{font-size:10px;line-height:1.5;}
  .mc-icon{width:26px;height:26px;}
  .mc-icon svg{width:12px;height:12px;}
  .mc-cta{opacity:1;transform:none;margin-top:6px;font-size:9px;display:flex;align-items:center;gap:4px;}
  .mc-cta svg{width:11px;height:11px;}
  .mode-card-glow{display:none;}
  .h-stages{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .h-stages::-webkit-scrollbar{display:none;}

  /* FOOTER */
  .h-footer{padding:10px 12px;height:auto;flex-direction:column;align-items:flex-start;gap:6px;}
  .foot-links{flex-wrap:wrap;gap:2px;}
  .foot-link{padding:4px 8px;font-size:8.5px;}
  .foot-link .foot-sub{display:none;}
  .foot-right{align-self:flex-end;}
  .foot-copy{font-size:7px;letter-spacing:1px;}

  /* GAME PICK */
  #g-pick{display:flex;flex-direction:column;}
  .gp-nav{padding:0 12px;height:50px;position:sticky;top:0;z-index:10;background:rgba(7,8,10,.98);}
  .gp-title{font-size:15px;}
  .gp-badge{display:none;}
  .gp-back{padding:6px 10px;font-size:12px;}
  .gp-header{flex-direction:column;}
  .gp-hero{padding:12px 12px 8px;gap:8px;flex-wrap:wrap;}
  .gp-hero-h{font-size:18px;}
  .gp-hero-sub{font-size:11px;max-width:100%;}
  .gp-stats-row{gap:5px;flex-wrap:wrap;}
  .gp-stat{padding:6px 10px;}
  .gp-stat-ico{width:22px;height:22px;}
  .gp-stat-v{font-size:13px;}
  .gp-stat-l{font-size:8px;}
  .gp-side{width:100%;border-right:none;border-top:1px solid var(--wire);padding:8px 12px;}
  .gp-tip{font-size:10px;}
  .gp-grid{grid-template-columns:1fr 1fr!important;padding:10px 10px 10px!important;gap:8px!important;grid-auto-rows:auto!important;flex:none!important;overflow-y:visible!important;}
  .gp-card{padding:10px 10px;}
  .gp-card-name{font-size:12px;}
  .gp-card-desc{font-size:10px;}
  .gp-card-ico{width:28px;height:28px;}
  .gp-card-ico svg{width:13px;height:13px;}
  .gp-card-badge{font-size:8px;padding:2px 6px;}
  .gp-start-wrap{padding:8px 12px;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:rgba(13,15,17,.98);border-top:1px solid var(--wire);}
  .gp-start-btn{padding:10px 18px;font-size:13px;flex:1;}
  .gp-sel-txt{font-size:11px;}

  /* GAME SCREEN */
  #s-game{display:flex;flex-direction:column;}
  .g-hud{padding:0 12px;height:50px;grid-template-columns:auto 1fr auto;position:sticky;top:0;z-index:10;background:var(--ink2);}
  .g-timer{font-size:26px;letter-spacing:1px;}
  .g-timer-lbl{font-size:7px;letter-spacing:1px;}
  .g-timer-wrap{padding-left:10px;}
  .g-stats{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .g-stats::-webkit-scrollbar{display:none;}
  .g-stat{padding:0 10px;flex-shrink:0;}
  .g-stat:first-child{border-left:1px solid var(--wire);}
  .g-stat-v{font-size:16px;}
  .g-stat-l{font-size:8px;}
  .g-back-wrap{padding-left:0;padding-right:10px;border-right:none;border-left:1px solid var(--wire2);}
  .g-back{padding:5px 8px;font-size:11px;}
  .g-back svg{width:12px;height:12px;}
  .g-arena{flex:none;padding:14px 12px;gap:12px;justify-content:flex-start;padding-top:18px;min-height:auto;}
  .g-arena::before{display:none;}
  .g-card{max-width:100%;box-shadow:0 8px 32px rgba(0,0,0,.5);}
  .g-card-bar{padding:8px 12px;}
  .g-typed{font-size:clamp(12px,4vw,18px)!important;letter-spacing:1px;line-height:1.5;min-height:32px;margin-bottom:10px;}
  .g-body{padding:14px 12px 10px;}
  .g-desc-box{font-size:12px;padding:8px 10px;}
  .g-desc-tag{font-size:8px;}
  .g-next-strip{max-width:100%;padding:7px 10px;gap:7px;}
  .g-next-lbl{font-size:10px;}
  .g-next-cmd{font-size:11px;}
  #wpm-graph-wrap{padding:0 12px 6px;}
  .g-foot{flex-wrap:wrap;}
  .g-foot-s{min-width:50%;flex:1;padding:8px 0;border-bottom:1px solid var(--wire);}
  .g-foot-s:nth-child(3),.g-foot-s:nth-child(4){border-bottom:none;}
  .g-foot-v{font-size:15px;}
  .g-foot-l{font-size:8.5px;}

  /* LEARN PICK */
  #l-pick{display:flex;flex-direction:column;}
  .pick-nav{padding:0 12px;height:50px;position:sticky;top:0;z-index:10;background:rgba(7,8,10,.98);}
  .pick-title{font-size:15px;}
  .pick-mode-badge{display:none;}
  .pick-back{padding:6px 10px;font-size:12px;}
  .pick-header{flex-direction:column;}
  .pick-hero{padding:12px 12px 8px;gap:8px;flex-wrap:wrap;}
  .pick-hero-h{font-size:18px;}
  .pick-hero-sub{font-size:11px;}
  .pick-stats-row{gap:5px;flex-wrap:wrap;}
  .pick-stat{padding:6px 10px!important;}
  .pick-stat-v{font-size:13px!important;}
  .pick-stat-l{font-size:8px!important;}
  .pick-side{width:100%;border-right:none;border-top:1px solid var(--wire);padding:8px 12px;}
  .pick-tip{font-size:10px;}
  .pick-grid{grid-template-columns:1fr 1fr!important;padding:10px 10px!important;gap:8px!important;overflow-y:visible!important;}
  .pick-card{padding:10px 10px!important;}
  .pc-name{font-size:12px!important;}
  .pc-desc{font-size:10px!important;}
  .pick-start-wrap{padding:8px 12px!important;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:rgba(13,15,17,.98);border-top:1px solid var(--wire);}
  .pick-start-btn{padding:10px 18px!important;font-size:13px!important;flex:1;}
  .pick-sel-txt{font-size:11px!important;}

  /* LEARN CONTENT */
  .l-layout{grid-template-columns:1fr;}
  .l-side{display:none;}
  .l-side.mobile-open{
    display:flex;position:fixed;top:0;right:0;bottom:0;width:280px;z-index:200;
    box-shadow:-10px 0 40px rgba(0,0,0,.8);animation:slideIn .2s ease;
    max-width:85vw;
  }
  .l-side.mobile-open::before{
    content:'';position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:-1;
  }
  .l-side-toggle{display:flex!important;}
  .l-main{padding:14px 12px;align-items:stretch;}
  .l-cmd-wrap{max-width:100%;}
  .l-card{border-radius:10px;}
  .l-card-body{padding:14px 12px 10px;}
  .l-typed{font-size:clamp(12px,4vw,18px)!important;letter-spacing:1px;min-height:32px;margin-bottom:10px;}
  .l-desc-box{font-size:12px;padding:8px 10px;}
  .l-btns{gap:8px;}
  .l-btn{padding:10px 14px;font-size:13px;}
  .l-prog-strip{max-width:100%;}

  /* QUIZ — fix position:fixed → scrollable on mobile */
  #s-quiz{
    position:relative!important;
    inset:auto!important;
    min-height:100svh;
    overflow:visible!important;
    display:flex;
    flex-direction:column;
  }
  #s-quiz.hidden{display:none!important;}

  .q-hud{padding:0 12px;height:50px;position:sticky;top:0;z-index:10;background:rgba(7,8,10,.98);}
  .q-hud-left{gap:6px;}
  .q-title{font-size:13px;}
  .q-title-icon{width:22px;height:22px;}
  .q-live-stats{gap:2px;}
  .q-stat-pill{padding:3px 7px;font-size:9.5px;}
  .q-back{padding:5px 8px;font-size:11px;}

  /* q-body: لا يحجب المحتوى — يتمدد بشكل طبيعي */
  .q-body{
    padding:10px;
    flex:1;
    overflow:visible;
    display:block;
    align-items:unset;
    justify-content:unset;
  }

  /* q-start: لا overflow:hidden ولا max-height ثابت */
  .q-start{
    grid-template-columns:1fr!important;
    border-radius:10px;
    overflow:visible!important;
    max-height:none!important;
  }
  .qs-left{
    min-height:auto!important;
    padding:16px 12px;
    gap:12px;
    border-left:none;
    border-bottom:1px solid var(--wire2);
  }
  .qs-brand-icon{width:36px;height:36px;}
  .qs-brand-title{font-size:15px;}
  .q-dots-wrap{gap:3px;padding:8px 0 4px;}
  .q-dot-step{width:5px;height:5px;}
  .q-dot-step.active{width:14px;}

  /* الجانب الأيمن (قائمة الأقسام) */
  .qs-right{
    display:flex;flex-direction:column;gap:0;
    border-right:none;border-top:1px solid var(--wire2);
    overflow:visible!important;
    max-height:none!important;
  }
  .qs-right-header{padding:12px 14px 8px;border-bottom:1px solid var(--wire);}
  .qs-right-title{font-size:15px;}
  .qs-ctrl-btns{gap:6px;}
  .qs-ctrl-btn{padding:5px 12px;font-size:11px;}
  .qs-stages-grid{
    grid-template-columns:1fr 1fr;
    max-height:none!important;
    overflow-y:visible!important;
    padding:10px 12px;
    gap:7px;
  }
  .q-opt{padding:9px 10px;gap:8px;border-radius:8px;}
  .q-opt-ico{width:24px;height:24px;border-radius:6px;}
  .q-opt-ico svg{width:11px;height:11px;}
  .q-opt-name{font-size:11px;white-space:normal;line-height:1.3;}
  .q-opt-n{font-size:9px;}
  .q-opt-check{width:14px;height:14px;}
  .q-opt-check svg{width:7px;height:7px;}
  .qs-summary{margin:0 12px 0;padding:8px 12px;}
  .qs-summary-txt{font-size:11px;}
  .qs-summary-count{font-size:11px;}

  /* زر ابدأ الاختبار — sticky بالأسفل */
  .qs-start-wrap{
    padding:10px 12px;
    position:sticky;bottom:0;
    background:rgba(7,8,10,.98);
    border-top:1px solid var(--wire);
    z-index:5;
  }
  .qs-start-btn{padding:11px 20px;font-size:13px;width:100%;}

  /* quiz question area */
  .q-question{max-width:100%;}
  .q-desc-text{padding:14px;font-size:13px;}
  .q-type-wrap{margin-bottom:10px;}
  .q-typed{font-size:clamp(12px,4vw,18px)!important;letter-spacing:1px;padding:10px 12px;}
  .q-choices{gap:8px;}
  .q-choice{padding:11px 14px;font-size:13px;}
  .q-step-header{margin-bottom:10px;}

  /* LEARN TERMINAL on mobile */
  .l-terminal{max-height:220px;font-size:11px;}
  .l-term-body{padding:10px 12px;font-size:10px;max-height:180px;}
  .l-term-bar{padding:6px 10px;}
  .l-term-dot{width:7px;height:7px;}
  .l-term-title{font-size:8px;}

  /* RESULTS on mobile */
  #s-results{padding:12px;align-items:flex-start;}
  .r-wrap{padding:20px 0;}
  .r-wpm{font-size:clamp(60px,14vw,90px);}
  .r-wpm-sub{font-size:12px;letter-spacing:3px;margin-bottom:16px;}
  .r-cards{grid-template-columns:repeat(2,1fr);gap:8px;}
  .r-card{padding:12px 8px;}
  .r-v{font-size:20px;}
  .r-l{font-size:10px;}
  .r-btns{flex-direction:column;gap:8px;}
  .r-btn{padding:14px 18px;font-size:14px;width:100%;min-height:48px;}
  .r-chart-wrap{padding:10px;}
  .r-xp-row{padding:10px 16px;font-size:12px;}

  /* DURATION SELECTOR — bigger touch targets */
  .dur-btn{padding:8px 16px;font-size:12px;min-width:48px;}
  .death-btn{padding:8px 16px;font-size:11px;min-width:44px;}
  .dur-selector{flex-wrap:wrap;gap:4px;}

  /* SHARE MODAL — full screen on mobile */
  #share-modal{padding:8px;}
  .sm-box{border-radius:14px;max-height:95vh;overflow-y:auto;}
  .sm-body{grid-template-columns:1fr;}
  .sm-preview{padding:12px;}
  .sm-options{padding:12px;gap:12px;}
  .sm-soc-btn{padding:12px 14px;}
  .sm-download-btn{padding:14px;font-size:13px;}

  /* GAME — better mobile HUD */
  .g-hud{gap:6px;}
  .g-stats{flex-wrap:nowrap;overflow-x:auto;}
  .g-stat{padding:0 6px;min-width:50px;}
  .g-stat-v{font-size:15px;}
  .g-stat-l{font-size:7px;}

  /* GENERAL touch target improvements */
  button,.l-btn,.r-btn,.gp-start-btn,.pick-start-btn{min-height:44px;}
  .l-btn{padding:12px 14px;font-size:14px;}
  .l-card-bar{padding:8px 12px;}
  .l-card-prompt{font-size:10px;}
  .l-card-badge{font-size:9px;padding:2px 7px;}

  /* STREAK BADGE mobile */
  #streak-badge{top:56px;font-size:11px;padding:5px 14px;}
  #streak-badge .s-num{font-size:17px;}

  /* CURSOR trail hide on mobile */
  .cursor-dot{display:none;}

  /* SOUND button bigger */
  #snd-btn{padding:8px 10px;}

  /* MODE CARDS better spacing */
  .mc-title{font-size:14px;}
  .mc-tag{font-size:8px;padding:2px 8px;}

  /* PICK SCREEN better cards */
  .pick-card-name,.gp-card-name{font-size:13px;}
  .pick-card-desc,.gp-card-desc{font-size:10px;}

  /* FOOTER links */
  .foot-link{padding:6px 10px;font-size:9px;}
  .foot-right{gap:6px;}

  /* LEVEL POPUP smaller */
  #level-popup{padding:24px 32px;max-width:90vw;}
  #level-popup .lp-emoji{font-size:42px;}
  #level-popup .lp-level{font-size:38px;}

  /* TOAST notification */
  #toast{bottom:24px;font-size:11px;padding:8px 16px;max-width:90vw;}
}

/* ══════════════════════════════════════════════
   RESPONSIVE — SMALL PHONE (max 420px)
══════════════════════════════════════════════ */
@media (max-width:420px){
  .hero-r{grid-template-columns:1fr;}
  .mode-card{border-left:none!important;}
  .mode-card:last-child{grid-column:auto!important;}
  .gp-grid{grid-template-columns:1fr!important;}
  .pick-grid{grid-template-columns:1fr!important;}
  .h-nav,.gp-nav,.pick-nav{padding:0 10px;}
  .brand-text{display:none;}
  .g-hud{padding:0 10px;}
  .g-timer{font-size:22px;}
  .g-stat{padding:0 8px;}
  .g-arena{padding:10px;}
  .g-typed{font-size:clamp(11px,3.5vw,15px)!important;}
  .l-typed{font-size:clamp(11px,3.5vw,15px)!important;}
  .g-foot-s{min-width:50%;}
  .l-main{padding:10px;}
  .l-terminal{font-size:10px;}
  .l-term-body{padding:8px 10px;font-size:9px;max-height:160px;}
  .r-cards{grid-template-columns:1fr 1fr;gap:6px;}
  .r-wpm{font-size:clamp(48px,12vw,72px);}
  .qs-stages-grid{grid-template-columns:1fr;}
  .sm-social-grid{grid-template-columns:1fr;}
  .hero-title{font-size:clamp(24px,7vw,36px);}
  .gp-hero-h,.pick-hero-h{font-size:16px;}
  .gp-start-wrap,.pick-start-wrap{gap:6px;}
  .dur-selector{gap:3px;}
  .dur-btn{padding:6px 10px;font-size:10px;min-width:36px;}
  .gp-start-btn,.pick-start-btn{padding:10px 14px;font-size:12px;}
  .h-nav-right{gap:2px;}
  .ext-link{padding:4px 6px;}
  .snd-wrap{gap:0;}
}

/* ══════════════ MODALS ══════════════ */
.modal-overlay{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.75);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  animation:fadeIn .2s;
}
.modal-box{
  background:var(--ink2);border:1px solid var(--wire2);border-radius:16px;
  width:90%;max-width:480px;max-height:85vh;overflow-y:auto;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--wire);
}
.modal-title{font-family:var(--ar);font-weight:800;font-size:16px;color:#dde2ea;}
.modal-close{
  width:28px;height:28px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  color:var(--smoke);cursor:pointer;font-size:14px;
  transition:all .15s;
}
.modal-close:hover{background:var(--reddim);color:var(--red);}
.modal-body{padding:20px;}

/* ══════ AUTH ══════ */
.auth-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--ink3);border-radius:10px;padding:3px;}
.auth-tab{
  flex:1;padding:8px;border:none;background:transparent;
  color:var(--smoke);font-family:var(--ar);font-weight:700;font-size:13px;
  border-radius:8px;cursor:pointer;transition:all .15s;
}
.auth-tab.active{background:var(--gold);color:var(--ink);}
.auth-form{display:flex;flex-direction:column;gap:12px;}
.auth-field{display:flex;flex-direction:column;gap:4px;}
.auth-field label{font-size:12px;color:var(--smoke);font-weight:600;}
.auth-field input{
  padding:10px 14px;background:var(--ink3);border:1px solid var(--wire2);
  border-radius:8px;color:#dde2ea;font-family:var(--mono);font-size:14px;
  transition:border-color .15s;
}
.auth-field input:focus{outline:none;border-color:var(--gold);}
.auth-error{color:var(--red);font-size:12px;min-height:16px;}
.auth-submit{
  padding:12px;border:none;border-radius:10px;
  background:var(--gold);color:var(--ink);
  font-family:var(--ar);font-weight:900;font-size:14px;
  cursor:pointer;transition:all .15s;
}
.auth-submit:hover{background:var(--gold2);transform:scale(1.02);}

/* ══════ LEADERBOARD ══════ */
.lb-modal-box{max-width:520px;}
.lb-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--ink3);border-radius:10px;padding:3px;}
.lb-tab{
  flex:1;padding:7px;border:none;background:transparent;
  color:var(--smoke);font-family:var(--ar);font-weight:700;font-size:12px;
  border-radius:8px;cursor:pointer;transition:all .15s;
}
.lb-tab.active{background:var(--gold);color:var(--ink);}
.lb-list{display:flex;flex-direction:column;gap:4px;}
.lb-row{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:var(--ink3);border:1px solid var(--wire);
  border-radius:10px;transition:all .15s;
}
.lb-row.lb-me{border-color:var(--gold);background:rgba(240,192,64,.06);}
.lb-pos{width:28px;text-align:center;font-size:16px;}
.lb-rank-num{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--smoke);}
.lb-user{flex:1;font-weight:700;font-size:13px;}
.lb-wpm{font-family:var(--mono);font-weight:800;color:var(--gold);font-size:13px;}
.lb-wpm small{font-weight:400;font-size:10px;color:var(--smoke);}
.lb-acc{font-family:var(--mono);font-size:12px;color:var(--teal);width:40px;text-align:center;}
.lb-sessions{font-size:11px;color:var(--smoke);width:50px;text-align:center;}
.lb-loading,.lb-empty{padding:32px;text-align:center;color:var(--smoke);font-size:13px;}

/* ══════ CHALLENGE ══════ */
.ch-modal-box{max-width:500px;}
.ch-section h3{font-size:14px;font-weight:800;margin-bottom:12px;color:#dde2ea;}
.ch-field{margin-bottom:12px;}
.ch-field label{display:block;font-size:12px;color:var(--smoke);margin-bottom:4px;font-weight:600;}
.ch-field select,.ch-field input{
  width:100%;padding:10px 14px;background:var(--ink3);border:1px solid var(--wire2);
  border-radius:8px;color:#dde2ea;font-family:var(--ar);font-size:13px;
}
.ch-field select:focus,.ch-field input:focus{outline:none;border-color:var(--gold);}
.ch-dur-btns{display:flex;gap:6px;}
.ch-dur{
  flex:1;padding:8px;border:1px solid var(--wire2);background:var(--ink3);
  color:var(--smoke);font-family:var(--mono);font-weight:700;font-size:12px;
  border-radius:8px;cursor:pointer;transition:all .15s;
}
.ch-dur.active{border-color:var(--gold);color:var(--gold);background:rgba(240,192,64,.08);}
.ch-create-btn,.ch-join-btn{
  width:100%;padding:12px;border:none;border-radius:10px;
  font-family:var(--ar);font-weight:800;font-size:13px;cursor:pointer;transition:all .15s;
}
.ch-create-btn{background:var(--gold);color:var(--ink);}
.ch-create-btn:hover{background:var(--gold2);}
.ch-join-btn{background:var(--teal);color:var(--ink);margin-top:8px;}
.ch-join-btn:hover{background:var(--teal2);}
.ch-divider{height:1px;background:var(--wire);margin:20px 0;}
.ch-result{margin-top:12px;padding:12px;background:var(--ink3);border-radius:10px;border:1px solid var(--gold);}
.ch-link-label{font-size:12px;color:var(--smoke);margin-bottom:6px;}
.ch-link-box{
  padding:8px 12px;background:var(--ink);border:1px solid var(--wire2);
  border-radius:6px;font-family:var(--mono);font-size:11px;color:var(--gold);
  word-break:break-all;margin-bottom:8px;
}
.ch-copy-btn{
  padding:6px 12px;border:1px solid var(--wire2);background:transparent;
  color:var(--smoke);font-size:11px;border-radius:6px;cursor:pointer;
  transition:all .15s;font-family:var(--ar);
}
.ch-copy-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ══════ PROFILE ══════ */
.profile-modal-box{max-width:400px;}
.profile-rank{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:16px;margin-bottom:16px;
}
.profile-rank-emoji{font-size:36px;}
.profile-rank-name{font-size:20px;font-weight:900;}
.profile-level{
  padding:4px 10px;background:var(--ink3);border-radius:20px;
  font-family:var(--mono);font-size:11px;font-weight:700;
}
.profile-xp-bar{
  position:relative;height:24px;background:var(--ink3);border-radius:12px;
  overflow:hidden;margin-bottom:16px;border:1px solid var(--wire);
}
.profile-xp-fill{
  height:100%;border-radius:12px;transition:width .5s;
}
.profile-xp-text{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:11px;font-weight:700;color:#dde2ea;
}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;}
.profile-stat{
  text-align:center;padding:12px 8px;background:var(--ink3);border-radius:10px;border:1px solid var(--wire);
}
.profile-stat-val{font-family:var(--mono);font-weight:900;font-size:20px;}
.profile-stat-lbl{font-size:11px;color:var(--smoke);margin-top:2px;}
.profile-btns{display:flex;gap:8px;}
.profile-btn{
  flex:1;padding:10px;border:none;border-radius:8px;
  font-family:var(--ar);font-weight:700;font-size:12px;cursor:pointer;transition:all .15s;
}
.profile-btn.logout{background:var(--reddim);color:var(--red);border:1px solid rgba(240,69,69,.3);}
.profile-btn.logout:hover{background:rgba(240,69,69,.2);}

/* ══════ AUTH BUTTON ══════ */
#auth-btn{
  display:flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:8px;
  border:1px solid var(--wire2);background:transparent;
  color:var(--smoke);font-family:var(--ar);font-weight:700;font-size:11px;
  cursor:pointer;transition:all .15s;
}
#auth-btn:hover{border-color:var(--gold);color:var(--gold);}
.auth-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

