/* Shared by every /quiz/<theme>/ page. Same visual language as /daily/ — the
   accent is the only thing each theme changes, injected as --accent. */
:root { --bg:#0D0D1A; --panel:#181830; --yellow:#FFD24A; --green:#2FBE6C; --red:#E5484D;
        --ink:#ECECF4; --sub:#8B8FA8; --accent:#e040fb; }
* { box-sizing:border-box; margin:0; }
body { background:var(--bg); color:var(--ink); font-family:'Poppins',system-ui,sans-serif;
       min-height:100vh; display:flex; flex-direction:column; align-items:center; }
.wrap { width:100%; max-width:430px; padding:18px 20px 40px; }
header { text-align:center; padding:14px 0 4px; }
header .brand { font-weight:700; font-size:20px; letter-spacing:.02em; }
header .brand span { color:var(--yellow); }
.meta { color:var(--sub); font-size:13px; margin-top:2px; }
.themeName { color:var(--accent); font-weight:600; }
.prog { text-align:center; color:var(--sub); font-size:13px; margin:16px 0 0; }
.prog b { color:var(--yellow); }
.chips { display:flex; justify-content:center; gap:8px; margin:14px 0 0; }
.chip { border:1px solid #34374f; color:var(--sub); border-radius:999px; padding:6px 14px;
        font-size:13px; font-weight:600; }
.chip.on { background:var(--yellow); color:#191919; border-color:var(--yellow); }
.pts { text-align:center; color:var(--yellow); font-size:21px; font-weight:700; margin:10px 0 0; }
.playRow { display:flex; justify-content:center; margin:16px 0 0; }
#playBtn { width:92px; height:92px; border-radius:50%; background:var(--panel); color:var(--accent);
           border:3px solid var(--accent); font-size:34px; cursor:pointer; transition:all .25s;
           display:flex; align-items:center; justify-content:center; }
#playBtn.playing { background:var(--accent); color:#10101c;
                   box-shadow:0 0 28px 6px color-mix(in srgb, var(--accent) 55%, transparent); }
.note { text-align:center; color:var(--sub); font-size:12px; min-height:16px; margin-top:8px; }
.longer { text-align:center; margin-top:10px; }
.longer button { background:none; border:1px solid #34374f; color:var(--sub); border-radius:999px;
                 padding:8px 16px; font-size:13px; cursor:pointer; font-family:inherit; }
.longer button:disabled { opacity:.35; cursor:default; }
.opts { display:grid; gap:10px; margin-top:18px; }
.opt { background:var(--panel); border:1px solid #2b2b46; color:var(--ink); border-radius:14px;
       padding:15px 16px; font-size:15px; font-family:inherit; text-align:left; cursor:pointer; }
.opt:hover:not(:disabled) { border-color:var(--accent); }
.opt.right { background:var(--green); border-color:var(--green); color:#06210f; font-weight:600; }
.opt.wrong { background:var(--red); border-color:var(--red); color:#2a0708; }
#result { display:none; text-align:center; padding-top:26px; }
#result .score { font-size:30px; font-weight:700; }
#result .rpts { color:var(--yellow); font-size:17px; font-weight:600; margin-top:4px; }
.grid { font-size:26px; letter-spacing:5px; margin:18px 0 6px; }
.again, .getapp { display:block; border-radius:14px; padding:14px; margin-top:12px;
                  font-weight:600; text-decoration:none; font-family:inherit; font-size:15px;
                  border:none; width:100%; cursor:pointer; }
.again { background:var(--panel); color:var(--ink); border:1px solid #2b2b46; }
.getapp { background:var(--yellow); color:#191919; }
.about { max-width:640px; padding:8px 22px 46px; color:var(--sub); font-size:14.5px; line-height:1.62; }
.about h1 { color:var(--ink); font-size:22px; margin-bottom:10px; }
.about h2 { color:var(--ink); font-size:17px; margin:22px 0 8px; }
.about p { margin-bottom:10px; }
.about a { color:var(--yellow); }
.more { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.more a { border:1px solid #34374f; border-radius:999px; padding:7px 13px; font-size:13px;
          color:var(--ink); text-decoration:none; }
.more a:hover { border-color:var(--yellow); }
footer { color:var(--sub); font-size:12px; padding:0 20px 34px; text-align:center; }
footer a { color:var(--sub); }
