:root{--bg:#0f172a;--card:#1e293b;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--accent:#6366f1;--accent-hover:#818cf8;--success:#22c55e;--danger:#ef4444;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh}.container{margin:0 auto;max-width:720px;padding:2rem 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1.5rem}.card h3{font-size:1.05rem;margin-bottom:.75rem}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;outline:none;padding:.65rem .85rem;transition:border .2s;width:100%}.input:focus,.textarea:focus{border-color:var(--accent)}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.6rem 1.4rem;transition:background .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.btn-success{background:var(--success);color:#fff}.tag{background:var(--accent);border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;padding:.2rem .6rem}.question-block{margin-bottom:1.5rem}.question-block .q-text{font-weight:600;margin-bottom:.6rem}.question-block .required{color:var(--danger)}.option-row{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:.6rem;padding:.5rem .75rem;transition:background .15s}.option-row:hover{background:#6366f11a}.option-row input{accent-color:var(--accent)}.progress-bar{background:var(--border);border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.progress-bar .fill{background:var(--accent);height:100%;transition:width .3s}.stat-row{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.5rem 0}.stat-row:last-child{border-bottom:none}.badge{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:.8rem;padding:.15rem .55rem}.header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header h1{font-size:1.4rem}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}
