:root{--bg: #0d1117;--panel: #161b22;--ink: #e6edf3;--muted: #8b949e;--accent: #5a9c6a;--accent-dim: #3f6f4b;--risk: #c4956a;--danger: #c46a6a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.qp-wrap{max-width:560px;margin:0 auto;padding:20px 16px 48px}.qp-header h1{margin:0;font-size:32px;letter-spacing:.5px;color:var(--accent)}.qp-sub{margin:4px 0 16px;color:var(--muted)}.qp-menu{display:flex;gap:10px;margin-bottom:18px}.qp-btn{appearance:none;border:1px solid var(--accent-dim);background:var(--panel);color:var(--ink);padding:10px 16px;border-radius:8px;font-size:15px;cursor:pointer;transition:background .12s,transform .05s}.qp-btn:hover:not(:disabled){background:#1f2630}.qp-btn:active:not(:disabled){transform:translateY(1px)}.qp-btn:disabled{opacity:.4;cursor:default}.qp-primary{background:var(--accent);border-color:var(--accent);color:#0d1117;font-weight:600}.qp-primary:hover:not(:disabled){background:#6bb07c}.qp-stage{background:var(--panel);border:1px solid #21262d;border-radius:12px;padding:16px}.qp-status{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-bottom:10px}.qp-status b{color:var(--ink)}.qp-clock{height:8px;background:#21262d;border-radius:4px;overflow:hidden;margin-bottom:14px}.qp-clock-bar{height:100%;width:100%;background:var(--accent);transition:width .1s linear}.qp-canvas{width:100%;height:auto;display:block;border-radius:8px;border:1px solid #21262d}.qp-prompt{margin:14px 0 10px;font-size:18px;font-weight:600;text-align:center}.qp-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.qp-opt{appearance:none;border:1px solid #30363d;background:#0d1117;color:var(--ink);padding:12px;border-radius:8px;font-size:16px;cursor:pointer}.qp-opt:hover{border-color:var(--accent);background:#11161d}.qp-ladder{display:flex;gap:10px}.qp-ladder .qp-btn{flex:1}.qp-bank{border-color:var(--accent)}.qp-risk{border-color:var(--risk);color:var(--risk)}.qp-result{text-align:center;padding:24px 8px}.qp-result h2{margin:0 0 8px}.qp-score{font-size:22px}.qp-detail{color:var(--muted);margin-bottom:20px}
