/* Moral quiz. Tokens and components follow docs/design-system.md. Prefix: mq- */
.mq{--ink:#16202C;--muted:#5A6573;--accent:#145C63;--accent-2:#0F474D;--accent-tint:rgba(20,92,99,.07);--accent-edge:rgba(20,92,99,.45);
  --brass-ink:#8A5F1A;--surface:#FFFFFF;--paper:#FBF9F4;--sunken:#F3EFE6;--line:rgba(22,32,44,.10);--line-strong:#D5D6CF;
  --ok:#2F7A4F;--ok-soft:#EAF4EE;
  --head:'Fraunces','Noto Sans Devanagari',Georgia,serif;--ui:'Inter','Noto Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  max-width:760px;margin:0 auto;padding:8px 16px 48px;color:var(--ink);font:400 15px/1.55 var(--ui);box-sizing:border-box}
.mq *,.mq *::before,.mq *::after{box-sizing:border-box}
@media (min-width:480px){.mq{padding-left:20px;padding-right:20px}}
.mq h1,.mq h2,.mq h3{font-family:var(--head);font-weight:500;letter-spacing:-.01em;margin:0}
.mq h1{font-size:28px;line-height:1.1}
.mq h2{font-size:22px;line-height:1.15}
.mq h3{font-size:20px;line-height:1.2}
@media (min-width:700px){.mq h1{font-size:38px}.mq h2{font-size:26px}}
.mq-crumb{font-size:13px;color:var(--muted);margin:8px 0 10px}
.mq-crumb a{color:inherit;text-decoration:none;display:inline-block;padding:10px 0}
.mq-hero{padding:20px 16px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}
@media (min-width:700px){.mq-hero{padding:28px}}
.mq-kick{display:inline-block;margin-bottom:8px;font:700 12px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-ink)}
.mq-lead{margin:12px 0 0;max-width:62ch;color:var(--muted)}

.mq-app{margin-top:16px}
.mq-app[hidden]{display:none}
.mq-card{padding:16px 14px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
@media (min-width:700px){.mq-card{padding:24px}}
.mq-step{margin:0 0 8px;font:500 13px/1.2 var(--ui);color:var(--muted);font-variant-numeric:tabular-nums}
.mq-bar{height:3px;border-radius:2px;background:var(--line-strong);margin-bottom:16px;overflow:hidden}
.mq-fill{display:block;height:100%;border-radius:0 2px 2px 0;background:var(--accent);transition:width .25s var(--ease)}
.mq-q{margin-bottom:16px!important;overflow-wrap:anywhere}
.mq-q:focus{outline:0}
.mq-q:focus-visible{outline:3px solid #E8590C;outline-offset:2px}

.mq-opts{display:grid;gap:8px}
.mq-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 16px;text-align:left;
  border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:var(--ink);
  font:500 15px/1.35 var(--ui);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:background .15s,border-color .15s,transform .12s var(--ease)}
.mq-opt:hover:not(:disabled){background:var(--paper);border-color:var(--accent-edge)}
.mq-opt:active:not(:disabled){transform:scale(.985)}
.mq-opt:focus-visible{outline:3px solid #E8590C;outline-offset:2px}
.mq-opt:disabled{cursor:default;color:var(--ink)}
.mq-mark{flex:0 0 22px;width:22px;height:22px;border-radius:999px;border:1.5px solid var(--line-strong);display:grid;place-items:center;font:700 13px/1 var(--ui)}
.mq-txt{min-width:0;overflow-wrap:anywhere}
.mq-opt.is-right{background:var(--ok-soft);border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}
.mq-opt.is-right .mq-mark{border-color:var(--ok);background:var(--ok);color:#fff}
.mq-opt.is-picked{background:var(--sunken);border-color:var(--muted)}
.mq-opt.is-picked .mq-mark{border-color:var(--muted);color:var(--muted)}

.mq-fb{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.mq-fb[hidden]{display:none}
.mq-fbtext{margin:0 0 12px}
.mq-row{display:flex;flex-wrap:wrap;gap:8px}
.mq-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:0;border-radius:999px;
  font:600 15px/1.2 var(--ui);text-decoration:none;cursor:pointer;touch-action:manipulation;text-align:center;
  transition:background .15s,transform .12s var(--ease)}
.mq-btn:active{transform:scale(.96)}
.mq-btn.primary{min-height:48px;padding:0 24px;background:var(--accent);color:#fff}
.mq-btn.primary:hover{background:var(--accent-2)}
.mq-btn.secondary{background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1px var(--line-strong)}
.mq-btn.secondary:hover{background:var(--paper)}
.mq-btn:focus-visible{outline:3px solid #E8590C;outline-offset:2px}

.mq-sum{margin:0 0 16px;max-width:52ch}
.mq-sub{margin:24px 0 8px!important}
.mq-stories{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mq-stories li{display:flex;align-items:center;min-height:44px;padding:4px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.mq-stories a{color:var(--accent);font:600 15px/1.3 var(--ui);text-decoration:none;display:inline-block;padding:8px 0;overflow-wrap:anywhere}
.mq-stories a:hover{text-decoration:underline}
.mq-stories a:focus-visible{outline:3px solid #E8590C;outline-offset:2px}
.mq-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.mq-all{margin-top:32px}
.mq-note{margin:6px 0 12px;color:var(--muted);font-size:14px}
.mq-list{margin:0;padding:0 0 0 22px;display:grid;gap:10px}
.mq-list li{padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);min-height:44px}
.mq-list b{font-weight:600}
.mq-list span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.mq-list strong{color:var(--ink)}
.mq-list a{color:var(--accent);font-weight:600;text-decoration:none;display:inline-block;padding:6px 0;overflow-wrap:anywhere}
.mq-list a:hover{text-decoration:underline}
.mq-list a:focus-visible{outline:3px solid #E8590C;outline-offset:2px}

.mq-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.mq-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent);font:600 14px/1 var(--ui);text-decoration:none}
.mq-links a:hover{background:var(--paper)}
.mq-links a:focus-visible,.mq-crumb a:focus-visible{outline:3px solid #E8590C;outline-offset:2px}

@media (max-width:359px){.mq-btn{width:100%}.mq-opt{padding:10px 12px}}
@media (prefers-reduced-motion:reduce){.mq *,.mq *::before,.mq *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
