body.quiz-page{background:var(--paper)}
.quiz-shell{max-width:640px;margin:0 auto;padding:40px 20px 60px}
.quiz-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg,14px);
  padding:36px 32px;box-shadow:var(--shadow-md)}
.quiz-eyebrow{display:inline-block;background:var(--blue-tint);color:var(--blue-deep);font-weight:700;
  font-size:12.5px;letter-spacing:.03em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:14px}
.quiz-card h1{font-size:30px;margin:0 0 12px}
.quiz-card h2{font-size:21px;margin:0 0 22px;line-height:1.4}
.quiz-sub{color:var(--ink-soft);font-size:15px;line-height:1.6;margin:0 0 22px}

.quiz-progress{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.quiz-progress-track{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden}
.quiz-progress-fill{height:100%;background:var(--blue);width:0%;transition:width .25s ease}
.quiz-progress span{font-size:12.5px;font-weight:700;color:var(--ink-soft);white-space:nowrap}

.quiz-options{display:flex;flex-direction:column;gap:10px}
.quiz-option{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1.5px solid var(--line-strong);
  border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);background:#fff;
  transition:border-color .15s,background .15s}
.quiz-option:hover{border-color:var(--blue);background:var(--blue-tint)}
.quiz-option .quiz-option-letter{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--paper);
  border:1.5px solid var(--line-strong);display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;color:var(--ink-soft)}
.quiz-option:hover .quiz-option-letter{border-color:var(--blue);color:var(--blue)}

.quiz-result .ex-share-preview-wrap{width:100px;height:100px}
.quiz-recommend{background:var(--blue-tint,#EAF0FE);border-radius:12px;padding:18px 20px;margin-top:18px}
.quiz-recommend h4{margin:0 0 6px;font-size:15px;color:var(--blue-deep)}
.quiz-recommend p{margin:0 0 12px;font-size:13.5px;color:var(--ink-soft)}

/* ===== CAD IQ test ===== */
.q-ico{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.q-fine{font-size:12.5px;color:var(--ink-soft);text-align:center;margin:12px 0 0;line-height:1.5}
.q-perks{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px}
.q-perks li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:var(--ink)}
.q-perks .q-ico{color:var(--blue);background:var(--blue-tint);border-radius:9px;padding:7px;width:32px;height:32px;box-sizing:border-box}
.q-challenge-banner{display:flex;align-items:center;gap:10px;background:#FFF4E5;border:1px solid #F6D9A8;color:#8A4B0A;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:18px}

.q-timer{display:flex;align-items:center;gap:12px;margin:-8px 0 20px}
.q-timer-track{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.q-timer-fill{height:100%;width:100%;background:var(--blue);border-radius:3px;transition:background .2s}
.q-timer-fill.low{background:#C4392C}
.q-timer span{font-size:13px;font-weight:800;min-width:30px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.q-cat{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-deep);background:var(--blue-tint);border-radius:99px;padding:4px 11px;margin-bottom:12px}
.quiz-option.picked{border-color:var(--blue);background:var(--blue-tint)}
.quiz-option:disabled{cursor:default}

.q-locked-card{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin:6px 0 22px;background:linear-gradient(160deg,#F4F7FF,#fff)}
.q-locked-blur{filter:blur(7px);padding:26px 20px 22px;text-align:center;user-select:none;pointer-events:none}
.q-locked-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.q-locked-lock .q-ico{width:56px;height:56px;padding:15px;box-sizing:border-box;border-radius:50%;background:#0B1526;color:#fff;box-shadow:0 10px 30px rgba(11,21,38,.35)}
.q-fake-bars{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.q-fake-bars i{display:block;height:10px;border-radius:99px;background:linear-gradient(90deg,#2F5FE0,#8FAEF5)}

.q-hero{text-align:center;border-radius:20px;padding:26px 18px 22px;margin:6px 0 14px;color:#fff;
  background:linear-gradient(145deg,#0B1526 0%,#16264a 60%,var(--tier,#2F5FE0) 220%);position:relative;overflow:hidden}
.q-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--tier,#2F5FE0);opacity:.28;filter:blur(30px)}
.q-hero-label{font-size:12px;font-weight:800;letter-spacing:.18em;color:rgba(255,255,255,.7)}
.q-hero-num{font-size:92px;font-weight:900;letter-spacing:-.04em;line-height:1.02;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.q-hero-tier{display:inline-block;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:7px 16px;border-radius:99px;background:var(--tier,#2F5FE0);color:#fff;position:relative;z-index:1}
.q-hero-blurb{font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);max-width:440px;margin:14px auto 0;position:relative;z-index:1}
.q-hero-stats{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:16px;font-size:13px;font-weight:700;color:rgba(255,255,255,.9);position:relative;z-index:1}
.q-hero-stats span{display:inline-flex;align-items:center;gap:6px}
.q-locked-blur .q-hero-label{color:var(--ink-soft)}
.q-locked-blur .q-hero-num{color:var(--ink)}
.q-locked-blur .q-hero-tier{background:var(--ink-soft);color:#fff;padding:7px 16px;border-radius:99px;font-size:15px;font-weight:800}
.q-place{text-align:center;font-size:14px;color:var(--ink-soft);margin:6px 0}
.q-place b{color:var(--ink)}
.q-new{color:#1B8A5A;font-weight:800}
.q-challenge{display:flex;align-items:center;gap:10px;justify-content:center;background:#FFF4E5;border:1px solid #F6D9A8;color:#8A4B0A;border-radius:12px;padding:11px 14px;font-size:14px;margin:10px 0}
.q-h{font-size:16px;margin:26px 0 12px}
.q-bars{display:flex;flex-direction:column;gap:12px}
.q-bar-top{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600;margin-bottom:5px}
.q-bar-track{height:9px;background:#EDF0F6;border-radius:99px;overflow:hidden}
.q-bar-track i{display:block;height:100%;border-radius:99px;transition:width .6s ease}
.q-focus{display:flex;gap:10px;align-items:flex-start;background:#F4F7FF;border-radius:12px;padding:13px 14px;margin-top:16px;font-size:14px;color:var(--ink-soft);line-height:1.5}
.q-focus .q-ico{color:var(--blue);margin-top:2px}
.q-focus b{color:var(--ink)}
.q-board{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.q-lb{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}
.q-lb:last-child{border-bottom:0}
.q-lb-rank{width:24px;height:24px;border-radius:50%;background:var(--blue-tint);color:var(--blue-deep);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.q-lb-name{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-lb-tier{font-size:12px;color:var(--ink-soft)}
.q-lb-empty{padding:18px;text-align:center;color:var(--ink-soft);font-size:14px}
.q-review{margin-top:22px;border:1px solid var(--line);border-radius:14px;padding:4px 16px}
.q-review summary{cursor:pointer;font-weight:700;padding:12px 0;font-size:14.5px}
.q-rev{display:flex;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5}
.q-rev-ico{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.q-rev.ok .q-rev-ico{background:#E3F6EE;color:#1B8A5A}
.q-rev.bad .q-rev-ico{background:#FDEBE8;color:#C4392C}
.q-rev-cat{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px}
.q-rev-line{color:var(--ink-soft);margin-top:4px;font-size:13.5px}
.q-rev-line.good{color:#1B8A5A;font-weight:600}
.quiz-result .ex-share-preview-wrap{width:120px;height:120px}
@media (max-width:520px){.quiz-card{padding:28px 20px}.q-hero-num{font-size:76px}}

/* ===== level picker + leaderboard tabs ===== */
.q-pick-h{font-size:14px;margin:0 0 10px}
.q-levels{display:flex;flex-direction:column;gap:10px;margin:0 0 20px}
.q-level{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .15s,background .15s}
.q-level b{font-size:15px}
.q-level span{font-size:13px;color:var(--ink-soft);line-height:1.4}
.q-level:hover{border-color:var(--blue)}
.q-level.on{border-color:var(--blue);background:var(--blue-tint);box-shadow:0 0 0 2px rgba(47,95,224,.15)}
.q-tabs{display:flex;gap:6px;margin:0 0 10px}
.q-tab{flex:1;padding:8px 6px;border:1.5px solid var(--line-strong);border-radius:99px;background:#fff;font-size:13px;font-weight:700;color:var(--ink-soft)}
.q-tab.on{background:var(--blue);border-color:var(--blue);color:#fff}

.q-hero-num.q-below{font-size:44px;letter-spacing:-.02em;margin:22px 0 14px}
.q-skip{display:block;width:100%;margin-top:12px;padding:12px;border:1.5px dashed var(--line-strong);border-radius:10px;background:transparent;color:var(--ink-soft);font-size:14px;font-weight:700}
.q-skip:hover{border-color:var(--blue);color:var(--blue)}
.q-skip:disabled{opacity:.5;cursor:default}

/* ===== daily question, boss round, duel ===== */
.quiz-option.ok{border-color:#1B8A5A;background:#E8F6EF}
.quiz-option.bad{border-color:#C4392C;background:#FCECEA}
.q-daily{margin-top:22px;border:1.5px solid var(--line);border-radius:14px;padding:16px;background:#F9FAFD}
.q-daily-top{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:8px}
.q-daily-top span{font-size:12.5px;font-weight:800;color:#C46A0C}
.q-daily-q{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 12px}
.q-boss{display:flex;align-items:center;gap:10px;background:#F4F7FF;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;margin:10px 0}
.q-boss.ready{justify-content:space-between;flex-wrap:wrap;background:#0B1526;color:#fff;border-color:#0B1526}
.q-boss.ready div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}
.q-boss.ready span{font-size:13px;color:rgba(255,255,255,.75)}
.q-boss.won{background:linear-gradient(135deg,#FFF3C4,#F5C542);border-color:#E0A800;color:#5A3E00}
