/* AI Prompt Challenge — styled with the site's own theme tokens (see :root in app.css), scoped under .apc. */
.apc-page{background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 100%);color:var(--ink);line-height:1.6;font-size:16px;min-height:70vh}
.apc *{box-sizing:border-box}
.apc button{font:inherit;cursor:pointer}
.apc button:focus-visible,.apc a:focus-visible{outline:3px solid var(--brand-light);outline-offset:3px}
.apc.shell{max-width:850px;margin:auto;padding:28px 20px 70px}
.apc .top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.apc .brand{font-weight:800;letter-spacing:.02em;font-size:18px;color:var(--ink)}
.apc .brand b{color:var(--brand)}
.apc .tag{color:var(--muted);font-size:14px}
.apc .panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,5vw,44px);box-shadow:var(--shadow)}
.apc .eyebrow{color:var(--brand);font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.apc .title{font-size:clamp(28px,5.5vw,46px);line-height:1.2;letter-spacing:-.02em;margin:12px 0 16px;color:var(--ink);font-weight:800}
.apc .lead{font-size:18px;color:var(--ink-soft);max-width:620px}
.apc .meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.apc .chip{border:1px solid var(--line);background:var(--bg-soft);border-radius:999px;padding:6px 14px;color:var(--ink-soft);font-size:14px;font-weight:500}
.apc .primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(120deg,var(--brand-light),var(--brand));border:0;border-radius:999px;padding:.8rem 1.7rem;color:#fff;font-weight:700;min-height:48px;text-decoration:none;box-shadow:0 10px 24px var(--brand-glow);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.apc .primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px var(--brand-glow);filter:brightness(1.03);color:#fff}
.apc .primary:disabled{opacity:.6;cursor:wait}
.apc .secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:.75rem 1.4rem;min-height:48px;text-decoration:none;font-weight:600}
.apc .secondary:hover{border-color:var(--brand);color:var(--brand)}
.apc .progress{height:8px;background:var(--line);border-radius:9px;overflow:hidden;margin:18px 0 26px}
.apc .progress>i{display:block;background:linear-gradient(90deg,var(--brand-light),var(--brand));height:100%;transition:width .3s}
.apc .qhead{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-weight:700}
.apc .situation{background:var(--bg-soft);border-left:4px solid var(--brand);padding:16px 18px;border-radius:4px 12px 12px 4px;margin:16px 0 24px;color:var(--ink-soft)}
.apc .question{font-size:clamp(21px,4vw,28px);line-height:1.35;margin:0 0 20px;color:var(--ink);font-weight:800}
.apc .answers{display:grid;gap:12px}
.apc .answer{text-align:left;width:100%;border:1.5px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;padding:15px 18px;min-height:64px;line-height:1.55;transition:border-color .15s,background .15s,box-shadow .15s}
.apc .answer:hover:not(:disabled){border-color:var(--brand);background:#fff7f2;box-shadow:var(--shadow-sm)}
.apc .answer:disabled{cursor:default}
.apc .answer.correct{border-color:#22a06b;background:#e9f8f0;color:#0b4d31}
.apc .answer.wrong{border-color:#e5484d;background:#fdecec;color:#7a1d20}
.apc .feedback{margin-top:20px;background:#fff7f2;border:1px solid #ffd9c4;border-radius:14px;padding:18px 20px}
.apc .feedback strong{display:block;color:var(--brand-dark);margin-bottom:6px}
.apc .feedback p{margin:0;color:var(--ink-soft)}
.apc .actions{display:flex;justify-content:flex-end;margin-top:22px}
.apc .result{font-size:clamp(46px,10vw,76px);line-height:1.15;color:var(--brand);font-weight:900;margin:18px 0}
.apc .fine{color:var(--muted);font-size:14px;margin-top:26px}
.apc .points-note{background:#e9f8f0;border:1px solid #b6e6cf;border-radius:14px;padding:13px 18px;margin:0 0 18px;color:#0b4d31}
.apc .points-note.muted{background:var(--bg-soft);border-color:var(--line);color:var(--ink-soft)}
.apc .points-note a{color:var(--brand-dark);font-weight:700}
.apc .err{background:#fdecec;border:1px solid #f5b5b7;border-radius:14px;padding:13px 18px;margin:0 0 18px;color:#7a1d20}
.apc .hist{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;font-size:14px;color:var(--ink-soft)}
.apc .hist div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
@media(max-width:580px){.apc.shell{padding:18px 14px 40px}.apc .top{margin-bottom:16px}.apc .tag{font-size:12px}.apc .qhead{font-size:14px}}
.apc.apc-ads{max-width:850px;margin:0 auto;padding:0 20px 60px}
.apc-ads .ads-label{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px 4px}
.apc-ads iframe{width:100%;border:0;display:block;height:160px;background:transparent}
@media(max-width:580px){.apc.apc-ads{padding:0 14px 40px}}
