
:root{
  --blue:#1678ee;
  --blue-dark:#075fcf;
  --yellow:#ffd23f;
  --bg:#f2f3f5;
  --card:#ffffff;
  --ink:#0c0d10;
  --muted:#6c727d;
  --line:#e1e3e7;
  --green:#15a858;
  --red:#ef3f45;
  --shadow:0 12px 35px rgba(20,34,55,.10);
  font-family:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}
body{min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,a{font:inherit}
button{touch-action:manipulation}
img{max-width:100%;display:block}
.app-shell{
  width:min(100%, 620px);
  min-height:100vh;
  min-height:100dvh;
  margin:0 auto;
  position:relative;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.95), transparent 32%),
    radial-gradient(circle at 85% 85%, rgba(255,255,255,.65), transparent 32%),
    var(--bg);
}
.screen{
  min-height:100vh;
  min-height:100dvh;
  padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
  animation:fadeIn .28s ease both;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.splash{display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;position:relative;overflow:hidden}
.splash-logo{width:min(76vw, 310px);max-width:310px;border-radius:30px;mix-blend-mode:multiply;animation:logoPop .75s cubic-bezier(.2,.9,.25,1.25) both}
@keyframes logoPop{0%{opacity:0;transform:scale(.78)}100%{opacity:1;transform:scale(1)}}
.splash-dots{position:absolute;bottom:34px;display:flex;gap:8px}.splash-dots i{display:block;height:4px;width:28px;border-radius:9px;background:#d8dbe0}.splash-dots i:first-child{background:var(--blue)}
.intro{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.intro-mini-logo{width:116px;margin-bottom:22px;border-radius:16px;mix-blend-mode:multiply}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#e9f2ff;color:var(--blue-dark);font-size:12px;font-weight:800;letter-spacing:.08em;padding:9px 13px;border-radius:999px;margin-bottom:16px}
.intro-title{font-size:36px;line-height:1.04;letter-spacing:-.045em;margin:0 auto 18px;max-width:540px;font-weight:900}
.intro-copy{font-size:17px;line-height:1.5;font-weight:600;max-width:450px;margin:0 auto 28px;color:#1a1d22}
.primary{border:0;border-radius:999px;padding:18px 24px;width:min(100%,430px);background:linear-gradient(105deg,#ffd23f,#ffda4e);color:var(--blue);font-weight:900;font-size:16px;letter-spacing:.01em;box-shadow:0 8px 18px rgba(245,190,16,.13);cursor:pointer;transition:transform .15s ease,filter .15s ease}
.primary:active{transform:scale(.985)}
.meta-row{margin-top:22px;display:flex;gap:24px;justify-content:center;align-items:center;color:var(--blue);font-size:14px;font-weight:500;flex-wrap:wrap}.meta{display:flex;gap:8px;align-items:center}.meta svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.quiz-screen{padding-left:18px;padding-right:18px}.topbar{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;margin-bottom:15px}.back{width:42px;height:42px;border:0;background:transparent;color:var(--blue);display:grid;place-items:center;border-radius:50%;cursor:pointer}.back:hover{background:rgba(22,120,238,.08)}.back svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.2}.counter{text-align:center;color:var(--blue);font-weight:700;font-size:15px}.progress{height:7px;background:#dcdfe4;border-radius:50px;overflow:hidden;margin-bottom:38px}.progress>span{display:block;height:100%;background:var(--blue);border-radius:inherit;transition:width .35s ease}
.question-card{background:rgba(255,255,255,.97);border-radius:20px;padding:18px 18px 18px;box-shadow:var(--shadow)}
.question-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;border:1px solid #d8dade;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.question{margin:18px auto 26px;text-align:center;line-height:1.28;font-size:22px;font-weight:800;max-width:520px}
.answers{display:grid;gap:14px}.answer{width:100%;min-height:76px;border:1.5px solid #d8dade;border-radius:18px;background:#fff;color:#202329;padding:15px 18px;text-align:left;font-weight:600;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;transition:.15s ease;box-shadow:0 3px 10px rgba(0,0,0,.02)}.answer:not(:disabled):hover{border-color:var(--blue);transform:translateY(-1px)}.answer:disabled{cursor:default}.answer.correct{border-color:#26b867;background:linear-gradient(90deg,#f7fff9,#effaf3);color:#14984e}.answer.wrong{border-color:#ff5a61;background:linear-gradient(90deg,#fffafa,#fff0f1);color:#ee343b}.answer.dim{opacity:.72}.answer-icon{width:28px;height:28px;border-radius:50%;display:none;place-items:center;color:white;flex:0 0 28px;font-weight:900}.answer.correct .answer-icon{display:grid;background:var(--green)}.answer.wrong .answer-icon{display:grid;background:var(--red)}
.fact-wrap{margin-top:18px}.feedback-head{display:flex;align-items:center;gap:13px;margin:0 0 18px;font-weight:800;font-size:18px}.feedback-head .big-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:23px}.feedback-head.good{color:var(--green)}.feedback-head.good .big-icon{background:var(--green)}.feedback-head.bad{color:var(--red)}.feedback-head.bad .big-icon{background:var(--red)}
.fact{margin-top:0;padding:18px 18px 16px;border-radius:18px;background:linear-gradient(135deg,#eef6ff,#e3effd);font-size:14px;line-height:1.58;color:#20242b}.fact-title{color:var(--blue-dark);font-size:13px;font-weight:900;margin-bottom:7px}.next{margin-top:18px;border:0;border-radius:999px;padding:17px 20px;width:100%;background:var(--yellow);color:var(--blue);font-weight:900;font-size:15px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px}.next svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
.result{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.result-logo{width:126px;border-radius:16px;mix-blend-mode:multiply;margin-bottom:12px}.result h2{font-size:22px;margin:0 0 16px}.score-card{background:white;box-shadow:var(--shadow);border-radius:20px;padding:27px 24px 22px;width:min(100%,430px);margin-bottom:24px}.score-num{font-size:68px;line-height:1;color:var(--blue);font-weight:900;letter-spacing:-.06em}.score-num small{font-size:36px;letter-spacing:-.04em}.trophy{margin:18px auto 0;width:112px;height:92px;color:var(--yellow)}.trophy svg{width:100%;height:100%;fill:currentColor}.result-message{color:var(--blue-dark);font-size:25px;font-weight:900;margin:0 0 8px}.result-sub{font-size:15px;line-height:1.45;font-weight:600;max-width:410px;margin:0 0 25px}.action-stack{width:min(100%,430px);display:grid;gap:12px}.secondary{width:100%;border:1.8px solid var(--blue);border-radius:999px;padding:15px 20px;color:var(--blue);font-weight:800;background:transparent;cursor:pointer}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#111;color:#fff;padding:11px 16px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.2s ease;z-index:10;white-space:nowrap}.toast.show{opacity:1;bottom:30px}
@media (max-width:420px){.screen{padding-left:15px;padding-right:15px}.intro{padding-top:18px;padding-bottom:20px}.intro-mini-logo{width:104px;margin-bottom:18px}.intro-title{font-size:29px}.question-card{padding:14px 14px 15px;border-radius:18px}.question{font-size:20px;margin:16px auto 22px}.answer{font-size:15px;min-height:70px;padding:13px 15px}.progress{margin-bottom:30px}}
@media (min-width:700px){body{padding:22px 0}.app-shell{min-height:calc(100vh - 44px);border-radius:28px;box-shadow:0 16px 45px rgba(0,0,0,.08);overflow:hidden}.screen{min-height:calc(100vh - 44px)}}
